Audio transmission method, audio sending, receiving and transmission device and computer medium
By passing time and control information on the Bluetooth network and dynamically adjusting the playback parameters and buffer usage of audio data, the audio lag problem between the audio broadcasting device and the receiving device in Bluetooth 5.2 is solved, and more stable synchronous playback is achieved.
Patent Information
- Application Number
- CN202211150676.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-21
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2042-09-21
AI Technical Summary
In Bluetooth 5.2 and above, when audio data between a single audio broadcasting device and multiple audio receiving devices are played simultaneously, insufficient buffer usage causes audio lag, affecting the synchronous playback effect.
By passing time information and control information between the audio sending device and the receiving device, dynamically adjust the playback parameters of the audio data and the buffer usage status to avoid audio lag caused by insufficient buffers.
It realizes dynamic adjustment of synchronous playback of audio data in Bluetooth network, avoids audio lag, and improves the synchronization and stability of audio data transmission.
Smart Images

Figure CN115567878B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of wireless communication technology, and in particular to an audio transmission method, an audio sending, receiving and transmitting device, and a computer medium. Background Art
[0002] Bluetooth is a short-range wireless communication technology that enables data exchange between fixed and / or mobile devices. Currently, Bluetooth technology is widely used in audio (e.g., Bluetooth headsets, Bluetooth / smart speakers, Bluetooth hearing aids), data, positioning, and control systems.
[0003] Classic Bluetooth uses a point-to-point communication method, which limits people's demand for audio sharing. The latest Bluetooth 5.2 and above versions introduce Broadcast Isochronous Group (BIG) and Broadcast Isochronous Stream (BIS) technologies to achieve point-to-multipoint audio transmission, that is, multiple and independent data streams are transmitted between a single audio broadcasting device (or interchangeably called a source device) and one or more audio receiving devices (or interchangeably called destination / sink devices).
[0004] In some cases, in order to achieve synchronized audio playback between a single audio broadcasting device and one or more audio receiving devices through BIS, it is necessary to cache audio data packets through a buffer area at the audio broadcasting device. However, when the buffer area is insufficient, it will cause audio playback problems (for example, audio freezes), affecting the effect of synchronized playback of audio data between the audio broadcasting device and the audio receiving device. Summary of the Invention
[0005] The purpose of the present disclosure is to overcome the above-mentioned defects in the prior art and provide an audio transmission method, audio sending, receiving and transmission equipment and computer media.
[0006] According to a first aspect of the present disclosure, an audio transmission method is provided for an audio sending device, the method comprising: acquiring a first audio data packet; creating a broadcast synchronization group including a broadcast synchronization stream; determining time information and control information for synchronously playing first audio data corresponding to the first audio data packet, wherein the control information is related to a buffer of the audio sending device for caching audio data packets; and broadcasting the first audio data packet, the time information, and the control information through at least one broadcast synchronization stream via a Bluetooth network.
[0007] In some embodiments, the method further includes: playing the first audio data based on the time information and the control information.
[0008] In some embodiments, the method further includes: adjusting the playback parameters and the buffer for playing the first audio data based on the control information; and based on the time information and the control information, playing the first audio data includes: playing the first audio data based on the time information and the adjusted playback parameters.
[0009] In some embodiments, obtaining the first audio data packet includes: obtaining the first audio data packet locally at the audio sending device.
[0010] In some embodiments, obtaining a first audio data packet includes: obtaining a second audio data packet transmitted by the computing device based on an audio transmission protocol from a computing device separate from the audio sending device; parsing the second audio data packet to obtain second audio data; and encoding the second audio data based on a Bluetooth transmission protocol supported by the audio sending device to obtain the first audio data packet, wherein the Bluetooth transmission protocol is different from the audio transmission protocol of the computing device.
[0011] In some embodiments, broadcasting the first audio data packet via the Bluetooth network is based on a Bluetooth low energy audio transmission protocol supported by the audio sending device.
[0012] In some embodiments, the method further comprises: broadcasting, via the Bluetooth network, information describing the broadcast synchronization streams in the broadcast synchronization group, wherein the information indicates that the at least one broadcast synchronization stream is encrypted.
[0013] In some embodiments, the information has at least one of a variable information length, a variable parameter, or a variable parameter value.
[0014] In some embodiments, the method further comprises broadcasting a message via the Bluetooth network containing a first key for decrypting at least one encrypted broadcast synchronization stream, wherein the first key is included in an encrypted portion of the message.
[0015] According to a second aspect of the present disclosure, an audio transmission method is provided for an audio receiving device, the method comprising: receiving at least one broadcast synchronization stream in a broadcast synchronization group broadcast by an audio sending device via a Bluetooth network; when an audio data packet is detected in a sub-event of the at least one broadcast synchronization stream, parsing the audio data packet to generate audio data; obtaining time information and control information for synchronously playing the audio data from the at least one broadcast synchronization stream, wherein the control information is related to a buffer of the audio sending device for caching audio data packets.
[0016] In some embodiments, the method further includes: playing the audio data synchronously with the audio sending device based on the time information and the control information.
[0017] In some embodiments, the method further includes: adjusting the playback parameters of the audio data based on the control information; and playing the audio data synchronously with the audio sending device based on the time information and the control information includes: playing the audio data synchronously with the audio sending device based on the time information and the adjusted playback parameters.
[0018] In some embodiments, before obtaining audio data from the at least one broadcast synchronization stream, it also includes: receiving information broadcast by the audio sending device via the Bluetooth network for describing the broadcast synchronization stream in the broadcast synchronization group; based on the information, determining that the at least one broadcast synchronization stream is encrypted.
[0019] In some embodiments, based on the information, determining that the at least one broadcast synchronization stream is encrypted includes: determining that the at least one broadcast synchronization stream is encrypted based on evaluating at least one of the length of the information, the parameters included in the information, or the value range of the parameters included in the information.
[0020] In some embodiments, the method further comprises obtaining a first key for decrypting at least one encrypted broadcast synchronization stream without requesting the first key from the audio sending device, wherein the first key is encrypted.
[0021] In some embodiments, obtaining a first key for decrypting at least one encrypted broadcast synchronization stream includes at least one of: receiving a message including the first key broadcast by the audio sending device via the Bluetooth network; and obtaining the first key out-of-band.
[0022] In some embodiments, the method further includes: obtaining a second key for decrypting the first key; and using the second key to decrypt the encrypted first key to join the broadcast synchronization group.
[0023] In some embodiments, obtaining the second key for decrypting the first key includes at least one of: obtaining the second key from a storage device associated with the audio receiving device; and obtaining the second key out-of-band.
[0024] In some embodiments, before acquiring audio data from the at least one broadcast synchronization stream, the method further includes: decrypting the at least one broadcast synchronization stream using the decrypted first key.
[0025] According to a third aspect of the present disclosure, an audio sending device is provided, comprising: an acquisition module configured to acquire a first audio data packet; a creation module configured to create a broadcast synchronization group including a broadcast synchronization stream; a determination module configured to determine time information and control information for synchronously playing first audio data corresponding to the first audio data packet, wherein the control information is related to a buffer of the audio sending device for caching audio data packets; and a broadcast module configured to broadcast the first audio data packet, the time information and the control information through at least one broadcast synchronization stream via a Bluetooth network.
[0026] According to a fourth aspect of the present disclosure, an audio receiving device is provided, comprising: a receiving module configured to receive at least one broadcast synchronization stream in a broadcast synchronization group broadcast by an audio sending device via a Bluetooth network; a parsing module configured to parse the audio data packet to generate audio data when an audio data packet is detected in a sub-event of the at least one broadcast synchronization stream; and an acquisition module to acquire time information and control information for synchronously playing the audio data from the at least one broadcast synchronization stream, wherein the control information is related to a buffer of the audio sending device for caching audio data packets.
[0027] According to a fifth aspect of the present disclosure, an audio transmission device is provided, comprising: at least one processor; and a memory for storing computer-executable instructions, which, when the computer-executable instructions are executed, enables the at least one processor to execute the audio transmission method according to the first or second aspect described above.
[0028] According to a sixth aspect of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium has computer-executable instructions stored thereon, and the computer-executable instructions are used to execute the audio transmission method according to the first aspect or the second aspect.
[0029] According to the audio transmission method, audio sending, receiving and equipment and computer medium disclosed in the present invention, by transmitting time information and control information between the sending end and the receiving end, the synchronous playback of audio data can be dynamically adjusted, thereby avoiding audio playback problems (for example, audio freeze) caused by insufficient buffer usage. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Other features and advantages of the present disclosure will be better understood through the following detailed description of preferred embodiments with reference to the accompanying drawings, in which the same reference numerals represent the same or similar components.
[0031] Figure 1 An exemplary audio transmission system according to an embodiment of the present disclosure is shown.
[0032] Figure 2 Another exemplary audio transmission system according to an embodiment of the present disclosure is shown.
[0033] Figure 3 A flowchart of an exemplary audio transmission method for an audio sending device according to an embodiment of the present disclosure is shown.
[0034] Figure 4 Exemplary description information according to an embodiment of the present disclosure is shown.
[0035] Figure 5 An exemplary broadcast synchronization group including a broadcast synchronization stream according to an embodiment of the present disclosure is shown.
[0036] Figure 6 The embodiment of the present disclosure includes Figure 5 An exemplary broadcast synchronization flow in a broadcast synchronization group.
[0037] Figure 7 An exemplary message for key transmission according to an embodiment of the present disclosure is shown.
[0038] Figure 8 A flowchart of an exemplary audio transmission method for an audio receiving device according to an embodiment of the present disclosure is shown.
[0039] Figure 9 A block diagram of an exemplary audio transmitting device according to an embodiment of the present disclosure is shown.
[0040] Figure 10 A block diagram of an exemplary audio receiving device according to an embodiment of the present disclosure is shown.
[0041] Figure 11 A block diagram of an exemplary audio transmission device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0042] To enable those skilled in the art to better understand the technical solutions of the present disclosure, the present disclosure is further described in detail below with reference to the accompanying drawings and specific embodiments, but this does not limit the present disclosure. Each embodiment in the present disclosure can be used as an independent embodiment or combined with other embodiments in the present disclosure, and the present disclosure does not limit this.
[0043] As mentioned above, in some cases, in order to achieve synchronized audio playback between a single audio broadcasting device and one or more audio receiving devices through BIS, it is necessary to cache audio data packets through a buffer area at the audio broadcasting device. However, when the buffer area is insufficient, it will cause audio playback problems (for example, audio freezes), affecting the effect of synchronized playback of audio data between the audio broadcasting device and the audio receiving device.
[0044] In addition, in Bluetooth 5.2 and above, BIS teaming is implemented to join BIG through two roles related to the broadcast assisted scanning function - Broadcast Assistant and Scan Delegator. For example, when the BIG or one or more BIS in the BIG is encrypted, it is necessary to obtain a secret key (e.g., broadcast_code), which requires the scan delegator (e.g., implemented at the host device) to notify the broadcast assistant (e.g., at least one broadcast assistant implemented at the source device) of a secret key request (e.g., broadcast_code required request) to enable the host device to join the BIG created by the source device, such as through the BIG_Encryption field in the Broadcast Receive State (see the Bluetooth standard document "Broadcast Audio Scan Service1.0", September 14, 2021). However, for scenarios with multiple host devices, there is a problem of connection competition, which affects the speed of BIS teaming.
[0045] The following will be combined Figures 1 to 11 Various embodiments of the present disclosure are described to address the above-mentioned problems and other problems.
[0046] Figure 1 FIG. 1 shows an exemplary audio transmission system 100 according to an embodiment of the present disclosure. The system 100 includes an audio transmitting device 110 and a plurality of audio receiving devices 120 - 1 to 120 - m and 130 - 1 to 130 - n. The audio transmitting device 110 communicates with the audio receiving devices via a Bluetooth network 140. Figure 1 As shown, the audio transmitting device 110 creates a first BIG 150-1 and a second BIG 150-2, and the first BIG 150-1 includes multiple (e.g., m) BISs (BIS 1, ..., BIS m) for multiple audio receiving devices 120-1 to 120-m, and the second BIG 150-2 includes multiple (e.g., n) BISs (BIS 1, ..., BIS n) for multiple audio receiving devices 130-1 to 130-n. For example, at least one BIS in at least one of the first BIG 150-1 and the second BIG 150-2 may be encrypted, and the audio transmitting device 110 broadcasts the at least one encrypted BIS via the Bluetooth network 140. The audio transmitting device 110 also broadcasts information describing the BIS in the BIG via the Bluetooth network 140 so that the audio receiving device (e.g., any one of 120-1 to 120-m, 130-1 to 130-n) can determine whether the BIG includes one or more encrypted BIS based on the description information. Figure 1 In the embodiment, at the audio sending device 110, an audio data packet (eg, a first audio data packet) is locally acquired and broadcasted via the Bluetooth network 140 through the at least one encrypted BIS.
[0047] Figure 2 An exemplary audio transmission system 200 according to an embodiment of the present disclosure is shown. Unlike system 100, the audio transmission device 110 in system 200 does not obtain the first audio data packet locally, but instead generates the first audio data packet by obtaining the second audio data packet transmitted by the computing device based on the audio transmission protocol from a computing device separate from the audio transmission device (for example, from the first computing device 160-1 via wireless connection 170, or from the second computing device 160-2 via wired connection 180). The generated first audio data packet is then broadcasted via the Bluetooth network 140 using at least one encrypted BIS. Figure 2 This scenario is also known as Multi-stream Bluetooth Relay Technology (MBRT). The audio transmitting device 110, acting as an MBRT source device, obtains the audio source via (but not limited to) Bluetooth or an internet connection. The audio transmitting device 110 plays the audio source data locally and broadcasts it via the BIS. Within the signal coverage area, multiple audio receiving devices (e.g., 120-1 to 120-m, 130-1 to 130-n) acting as MBRT sinks can synchronize playback with the audio transmitting device acting as the MBRT source.
[0048] Figure 3 FIG. 3 is a flowchart of an exemplary audio transmission method 300 for an audio transmitting device according to an embodiment of the present disclosure. The method 300 may be performed by Figure 1 or Figure 2 Audio sending device, Figure 9 An exemplary audio transmission device 900, or Figure 11 Any one of the exemplary audio transmission devices 1100 is implemented as follows. Figure 3 As shown, the method 300 includes steps 302 to 308 .
[0049] In step 302, a first audio data packet is obtained. Figure 1 and Figure 2 As described, the audio sending device 110 may obtain the first audio data packet.
[0050] In step 304, a BIG including a BIS is created. Figure 1 and Figure 2As described, the audio transmitting device 110 may create a BIG (eg, a first BIG 150 - 1 , a second BIG 150 - 2 ) including a plurality of BISs for a plurality of audio receiving devices.
[0051] In step 306, determine the time information and control information for synchronously playing the first audio data corresponding to the first audio data packet, wherein the control information is related to the buffer for caching audio data packets of the audio sending device. For example, the control information can be related to the usage (for example, remaining available size or ratio) of the buffer for caching audio data packets of the audio sending device, and the occupancy (empty, low occupancy, medium occupancy, high occupancy, close to full, full, etc.) of the audio data packet in the buffer is changed by setting the control information. For example, the audio sending device 110 can determine time information, which indicates or is used to generate the moment (for example, the start moment or the end moment, or referred to as the synchronous playback point) of playing the audio data on the time axis, so that the audio sending device and the audio receiving device both play the audio data at the indicated moment (that is, synchronously). In addition, the audio sending device 110 can transmit the time information and control information in each audio data frame in the BIS so that it is received by the audio receiving device.
[0052] In step 308, the first audio data packet, time information, and control information are broadcasted via the Bluetooth network through at least one BIS.
[0053] Compared with the prior art, the audio sending device disclosed herein can dynamically adjust the synchronous playback of audio data by transmitting time information and control information between the sending end and the receiving end, thereby avoiding audio playback problems (for example, audio freeze) caused by insufficient buffer usage.
[0054] In some examples, method 300 may further include: playing the first audio data based on the time information and the control information.
[0055] In some examples, method 300 may further include: adjusting the playback parameters and buffer for playing the first audio data based on the control information; and based on the time information and the control information, playing the first audio data may include: playing the first audio data based on the time information and the adjusted playback parameters. For example, when the usage of the buffer is insufficient (for example, it may cause audio jamming), the control information can be set so that the audio sending device adjusts the playback parameters and buffer based on the control information, thereby dynamically adjusting the playback sampling value at the synchronous playback point according to the adjusted playback parameters (for example, faster or slower playback speed, shorter playback duration, etc.), thereby avoiding audio playback problems (for example, audio jamming) caused by the insufficient usage of the buffer. For example, when the audio data to be played in the buffer is less than a predetermined value, the audio can be played slower by adjusting the playback parameters (such as lowering the sampling rate of the played audio), thereby reducing audio jamming.
[0056] In some examples, step 302 may include: locally acquiring a first audio data packet at the audio sending device.
[0057] In some examples, step 302 may include: obtaining, from a computing device separate from the audio sending device, a second audio data packet transmitted by the computing device based on an audio transmission protocol; parsing the second audio data packet to obtain second audio data; encoding the second audio data based on a Bluetooth transmission protocol supported by the audio sending device to obtain a first audio data packet, wherein the Bluetooth transmission protocol is different from the audio transmission protocol of the computing device. Figure 2 As described, the audio sending device 110 may obtain a second audio data packet transmitted by the computing device based on an audio transmission protocol from a computing device separated therefrom (e.g., from a first computing device 160-1 via a wireless connection 170 (e.g., a Bluetooth connection), or from a second computing device 160-2 via a wired connection 180 (e.g., a wired network connection to the cloud), parse the second audio data packet to obtain the second audio data; based on the Bluetooth transmission protocol supported by the audio sending device (e.g., Bluetooth LE Audio), encode the second audio data (e.g., L3 encoding) to obtain the first audio data packet, wherein the Bluetooth transmission protocol is different from the audio transmission protocol of the computing device (e.g., the audio transmission protocol of classic Bluetooth or the audio transmission protocol of a wired mode). In some cases, parsing the second audio data packet may include decoding (i.e., decompressing the audio-encoded) second audio data packet to obtain the second audio data. Similarly, elsewhere in this application, describing "parsing the audio data packet" may include decoding (i.e., decompressing the audio-encoded) audio data packet to obtain audio data. For example, an LC3-encoded audio data packet may be decoded to obtain audio data.
[0058] In some examples, step 308 may be based on the Bluetooth LE Audio protocol supported by the audio sending device.
[0059] In some examples, the method 300 may further include: broadcasting description information for describing the BIS in the BIG via the Bluetooth network, wherein the description information indicates that at least one BIS is encrypted. Figure 1 and Figure 2 As described, the audio sending device 110 broadcasts description information describing the BIS in the BIG via the Bluetooth network 140 , and the description information may indicate that the BIG includes one or more encrypted BISs.
[0060] In some examples, the description information may have at least one of a variable information length, a variable parameter, or a variable parameter value. Figure 4 To describe in detail.
[0061] Figure 4 An exemplary description information 400 according to an embodiment of the present disclosure is shown. The description information 400 may include a header 402 and a payload 404. For example, the payload 404 may include an optional field 406 (e.g., placed at the end or other position), thereby having a variable length. When the payload 404 has a padded field 406, the information 400 has a first length, and when the payload 404 does not have a padded field 406, the information 400 has a second length that is less than the first length. For example, the first length may indicate that the BIG includes one or more encrypted BISs, and the second length may indicate that the BIG does not include one or more encrypted BISs, and vice versa. In order to facilitate the evaluation of the length of the information 400, the optional field 406 may be unencrypted, for example, in plain text. For example, the payload 404 may include a parameter 408, which may directly indicate whether the BIG includes one or more encrypted BISs, or indicate whether the BIG includes one or more encrypted BISs through a range of parameter values.
[0062] In some examples, the method 300 may further include: broadcasting a message of a first key for decrypting at least one encrypted BIS via the Bluetooth network, wherein the first key is included in the encrypted portion of the message. Figure 7 This section describes in detail how to receive a message broadcasted by an audio transmitting device over a Bluetooth network, including a first key. In this step, a broadcast synchronization group can be joined without requesting the key for the broadcast synchronization stream from the audio transmitting device. This avoids the problem of connection competition that affects the speed of broadcast synchronization stream formation when multiple audio receiving devices join the broadcast synchronization group over a Bluetooth network, thereby improving group formation speed and enhancing group security.
[0063] Figure 7 An exemplary (advertisement, AD) message 700 for key transmission according to an embodiment of the present disclosure is shown. The message 700 may include a plurality of advertisement structures (AD) 701 to 703 having substantial content and a zero-padding structure 704 having insubstantial content (e.g., for byte alignment, etc.). Taking AD 1 as an example, AD 1 701 may include a header 710 indicating a length and a valid data payload 711. The valid data payload 711 includes an AD type field 720 and an AD data field 721. When the AD type field 720 indicates a key, the AD data field 721 may include a key (e.g., a first key), and at least a portion of the AD data field 721 is encrypted so that the key is included in the encrypted portion of the AD data field 721. Therefore, the audio receiving device can obtain the first key, for example, by receiving a message such as the announcement message 700 broadcast by the audio sending device via the Bluetooth network.
[0064] Go to Figure 8 , shows a flowchart of an exemplary audio transmission method 800 for an audio receiving device according to an embodiment of the present disclosure. The method 800 may be Figure 1 or Figure 2 Audio receiving device, Figure 10 An exemplary audio receiving device 1000 of Figure 11 Any one of the exemplary audio transmission devices 1100 is implemented as follows. Figure 8 As shown, method 800 includes steps 802 to 806.
[0065] In step 802, at least one broadcast synchronization stream in a BIG broadcasted by an audio transmitting device is received via a Bluetooth network.
[0066] In step 804 , when an audio data packet is detected in at least one sub-event of the BIS, the audio data packet is parsed to generate audio data.
[0067] In step 806, time information and control information for synchronously playing audio data are obtained from at least one BIS, wherein the control information is related to a buffer of the audio sending device for caching audio data packets.
[0068] Compared with the prior art, the audio receiving device disclosed herein can dynamically adjust the synchronous playback of audio data by receiving time information and control information transmitted between the sending end and the receiving end, thereby avoiding audio playback problems (for example, audio freeze) caused by insufficient buffer usage.
[0069] The following combination Figure 5 and Figure 6 The above-mentioned step 804 of obtaining audio data will be described in detail.
[0070] Figure 5 FIG. 5 shows an exemplary BIG 500 including a BIS according to an embodiment of the present disclosure. The BIG 500 includes m BISs (e.g., Figure 1 BIS 1, ..., BIS m) of multiple audio receiving devices. Figure 6 The embodiment of the present disclosure includes Figure 5 1. Example BIS i in the BIG, BIS i includes j sub-events (SEs). For example, the audio receiving device 120-i receives BIS i via the Bluetooth network 140 and detects each SE in BIS i. In response to detecting audio packets in one or more SEs, the audio receiving device 120-i parses the detected audio packets to generate audio data, and then plays the generated audio data.
[0071] In some examples, method 800 may further include playing the audio data synchronously with the audio sending device based on the time information and the control information.
[0072] In some examples, method 800 may also include: adjusting the playback parameters of the audio data based on the control information; and synchronizing the audio data with the audio sending device based on the time information and the adjusted playback parameters. For example, the control information can be related to the usage status (e.g., the remaining available size or ratio) of the buffer of the audio sending device for caching audio data packets, and the occupancy status of the audio data packets in the buffer can be changed by setting the control information (empty, low occupancy, medium occupancy, high occupancy, nearly full, full, etc.). For example, when the usage status of the buffer is not enough (e.g., it may cause audio jams), the control information can be set so that the audio sending device and the receiving device adjust the playback parameters based on the control information, thereby dynamically adjusting the playback sampling value at the synchronization playback point according to the adjusted playback parameters (e.g., faster or slower playback speed, shorter playback duration, etc.), thereby avoiding audio playback problems (e.g., audio jams) caused by the usage status of the buffer being not enough. For example, when the audio data to be played in the buffer is less than a predetermined value, the playback parameters can be adjusted (e.g., reducing the sampling rate of the playback audio) to make the audio play slower, thereby reducing audio jams.
[0073] In some examples, before obtaining audio data from at least one BIS, method 800 may further include: receiving description information for describing the BIS in the BIG broadcasted by the audio sending device via the Bluetooth network; and determining, based on the description information, whether the at least one BIS is encrypted. Figure 1At least one BIS in at least one of the first BIG 150-1 and the second BIG 150-2 is encrypted, and the audio transmitting device 110 broadcasts the at least one encrypted BIS via the Bluetooth network 140. The audio transmitting device 110 also broadcasts information describing the BIS in the BIG via the Bluetooth network 140, so that the audio receiving device (for example, any one of 120-1 to 120-m, 130-1 to 130-n) determines whether the BIG includes one or more encrypted BISs based on the description information.
[0074] In some examples, based on the description information, determining that the at least one BIS is encrypted may include: determining that the at least one BIS is encrypted based on evaluating at least one of the length of the description information, a parameter included in the description information, or a value range of a parameter included in the description information. For example, the description information may be as described above in combination with Figure 4 An exemplary message 400 is described.
[0075] In some examples, method 800 may further include obtaining a first key for decrypting at least one encrypted BIS without requesting the first key from the audio sending device, wherein the first key is encrypted. Figure 1 or Figure 2 The audio receiving device 120-1 determines that the first BIG150-1 includes one or more encrypted BISs, then the audio receiving device 120-1 obtains a first key (e.g., broadcast_code) for decrypting at least one encrypted BIS, and does not need to request the first key from the audio sending device 110 (e.g., through a broadcast_code required request).
[0076] In some examples, obtaining a first key for decrypting at least one encrypted BIS may include at least one of the following: receiving a message including the first key broadcast by the audio transmitting device via a Bluetooth network; obtaining the first key out-of-band. For example, as described above, Figure 7 An exemplary message 700 for key transmission is shown.
[0077] In some examples, the method 800 may further include: obtaining a second key for decrypting the first key; and using the second key to decrypt the encrypted first key to join the BIG. Figure 1 or Figure 2The audio receiving device 120-1 decrypts the encrypted first key to join the first BIG 150-1. For example, the first key is broadcast_code, which is used to generate the group session key (GSK) used for encryption of the final broadcast link. In other words, broadcast_code provides an access mechanism so that only authorized listeners can decode a specific broadcast audio stream and thus join the BIG.
[0078] Furthermore, obtaining the second key for decrypting the first key may include at least one of the following: obtaining the second key from a storage device associated with the audio receiving device; obtaining the second key through an out-of-band method. For example, the storage device associated with the audio receiving device may include, but is not limited to, a storage device integrated into the audio receiving device (e.g., a memory), a storage device communicatively connected to the audio receiving device (e.g., a database or a cloud device), and the like. For example, the out-of-band method may include, but is not limited to, scanning a graphic code (e.g., a QR code), NFC (near field communication) or other proximity technology, obtaining a certificate issued by an authoritative CA (Certificate Authority), and the like to obtain the second key, rather than obtaining the second key in-band via the Bluetooth network.
[0079] In some examples, before obtaining the audio data from the at least one BIS, the method 800 may further include: decrypting the at least one BIS using the decrypted first key. Figure 5 and Figure 6 To describe in detail.
[0080] Figure 5 FIG. 5 shows an exemplary BIG 500 including a BIS according to an embodiment of the present disclosure. The BIG 500 includes m BISs (e.g., Figure 1 BIS 1, ..., BIS m) of multiple audio receiving devices. Figure 6 The embodiment of the present disclosure includes Figure 5 1. Example BIS i in the BIG, BIS i includes j sub-events (SEs). For example, the audio receiving device 120-i receives the encrypted BIS i via the Bluetooth network 140, decrypts the BIS i using the obtained decrypted first key, and detects each SE in the BIS i. In response to detecting audio packets in one or more SEs, the audio receiving device 120-i parses the detected audio packets to generate audio data, and then plays the generated audio data.
[0081] The information (or description information) for describing the BIS in the BIG, broadcast by the audio transmitting device, is received via the Bluetooth network. For example, Figure 1 or Figure 2The audio receiving device 120 - 1 in the embodiment receives the description information broadcasted by the audio sending device 110 from the audio sending device 110 via the Bluetooth network 140 .
[0082] In step 304, based on the received description information, it is determined whether the BIG includes one or more encrypted BIS. For example, Figure 1 or Figure 2 The audio receiving device 120-1 in the audio receiving device 120-1 determines whether the first BIG 150-1 includes one or more encrypted BISs based on the received description information.
[0083] At step 306, if it is determined that the BIG includes one or more encrypted BIS, a first key for decrypting the at least one encrypted BIS is obtained without requesting the first key from the audio sending device, wherein the first key is encrypted. Figure 1 or Figure 2 The audio receiving device 120-1 determines that the first BIG 150-1 includes one or more encrypted BISs, then the audio receiving device 120-1 obtains a first key (e.g., broadcast_code) for decrypting at least one encrypted BIS, and does not need to request the first key from the audio sending device 110 (e.g., through a broadcast_coderequired request).
[0084] In step 308, the encrypted first key is decrypted to join the BIG. For example, Figure 1 or Figure 2 The audio receiving device 120-1 decrypts the encrypted first key to join the first BIG 150-1. For example, the first key is broadcast_code, which is used to generate the group session key (GSK) used for encryption of the final broadcast link. In other words, broadcast_code provides an access mechanism so that only authorized listeners can decode a specific broadcast audio stream and thus join the BIG.
[0085] Compared with the prior art, the audio receiving device disclosed in the present invention can join BIG without requesting the secret key for BIS from the audio sending device, avoiding the problem of connection competition when multiple audio receiving devices join BIG via the Bluetooth network, which affects the BIS teaming speed. This improves the teaming speed and provides teaming security by encrypting the secret key.
[0086] In some examples, step 304 may include determining whether the BIG includes one or more encrypted BISs based on at least one of the length of the evaluation description information, a parameter included in the description information, or a value range of a parameter included in the description information. Figure 4To describe in detail.
[0087] Figure 4 An exemplary description information 400 according to an embodiment of the present disclosure is shown. The description information 400 may include a header 402 and a payload 404. For example, the payload 404 may include an optional field 406 (e.g., placed at the end or other position), thereby having a variable length. When the payload 404 has a padded field 406, the information 400 has a first length, and when the payload 404 does not have a padded field 406, the information 400 has a second length that is less than the first length. For example, the first length may indicate that the BIG includes one or more encrypted BISs, and the second length may indicate that the BIG does not include one or more encrypted BISs, and vice versa. In order to facilitate the evaluation of the length of the information 400, the optional field 406 may be unencrypted, for example, in plain text. For example, the payload 404 may include a parameter 408, which may directly indicate whether the BIG includes one or more encrypted BISs, or indicate whether the BIG includes one or more encrypted BISs through a range of parameter values.
[0088] In some examples, method 300 may further include obtaining a second key for decrypting the first key. Furthermore, step 308 may include using the second key to decrypt the encrypted first key to join the BIG.
[0089] Furthermore, obtaining the second key for decrypting the first key may include at least one of the following: obtaining the second key from a storage device associated with the audio receiving device; obtaining the second key through an out-of-band method. For example, the storage device associated with the audio receiving device may include, but is not limited to, a storage device integrated into the audio receiving device (e.g., a memory), a storage device communicatively connected to the audio receiving device (e.g., a database or a cloud device), and the like. For example, the out-of-band method may include, but is not limited to, scanning a graphic code (e.g., a QR code), NFC (near field communication) or other proximity technology, obtaining a certificate issued by an authoritative CA (Certificate Authority), and the like to obtain the second key, rather than obtaining the second key in-band via the Bluetooth network.
[0090] In some examples, the method 300 may further include: receiving the at least one encrypted BIS via the Bluetooth network; decrypting the BIS using the first key; when an audio data packet is detected in a sub-event of the decrypted BIS, parsing the audio data packet to generate audio data; and playing the audio data. Figure 5 and Figure 6 To describe in detail.
[0091] Figure 5FIG. 5 shows an exemplary BIG 500 including a BIS according to an embodiment of the present disclosure. The BIG 500 includes m BISs (e.g., Figure 1 BIS 1, ..., BIS m) of multiple audio receiving devices. Figure 6 The embodiment of the present disclosure includes Figure 5 1. Example BIS i in the BIG, BIS i includes j sub-events (SEs). For example, the audio receiving device 120-i receives the encrypted BIS i via the Bluetooth network 140, decrypts the BIS i using the obtained decrypted first key, and detects each SE in the BIS i. In response to detecting audio packets in one or more SEs, the audio receiving device 120-i parses the detected audio packets to generate audio data, and then plays the generated audio data.
[0092] Figure 9 FIG. 9 is a block diagram showing an exemplary audio transmission device 900 according to an embodiment of the present disclosure. The audio transmission device 900 may be Figure 1 or Figure 2 The audio transmitting device 110 is adapted to perform any of the steps in the audio transmission method 300 for an audio transmitting device as described above. Figure 9 As shown, the audio sending device 900 includes an acquisition module 910 , a creation module 920 , a determination module 930 , and a broadcast module 940 .
[0093] The acquisition module 910 is configured to: acquire a first audio data packet.
[0094] The creation module 920 is configured to create a BIG including a BIS.
[0095] The determination module 930 is configured to determine time information and control information for synchronously playing the first audio data corresponding to the first audio data packet, wherein the control information is related to a buffer of the audio sending device for buffering the audio data packet.
[0096] The broadcast module 940 is configured to broadcast the first audio data packet, time information, and control information through at least one BIS.
[0097] Furthermore, the acquisition module 910 may also be configured to execute other processes as described above with respect to step 302 of the method 300 , which will not be described in detail.
[0098] Furthermore, the creation module 920 may also be configured to execute other processes as described above with respect to step 304 of the method 300 , which will not be described in detail.
[0099] Furthermore, the determination module 930 may also be configured to execute other processes as described above with respect to step 306 of the method 300 , which will not be described in detail.
[0100] Furthermore, the broadcast module 940 may also be configured to execute other processes as described above with respect to step 308 of the method 300 , which will not be described in detail.
[0101] Furthermore, the audio sending device 900 may further include additional modules configured to perform additional processes as described above with respect to the additional steps of the method 300 , which will not be described in detail.
[0102] Figure 10 FIG. 1 is a block diagram of an exemplary audio receiving device 1000 according to an embodiment of the present disclosure. The audio receiving device 1000 may be Figure 1 or Figure 2 The audio receiving device (for example, any one of 120-1 to 120-m, 130-1 to 130-n) is adapted to perform any steps in the audio transmission method 800 for an audio receiving device as described above. Figure 10 As shown, the audio receiving device 1000 includes a receiving module 1010 , a parsing module 1020 , and an acquiring module 1030 .
[0103] The receiving module 1010 is configured to receive at least one BIS in the BIG broadcasted by the audio sending device via the Bluetooth network.
[0104] The parsing module 1020 is configured to: when an audio data packet is detected in at least one sub-event of the BIS, parse the audio data packet to generate audio data.
[0105] The acquisition module 1030 is configured to acquire time information and control information for synchronously playing audio data from at least one BIS, wherein the control information is related to a buffer of the audio sending device for caching audio data packets.
[0106] Furthermore, the receiving module 1010 is also configured to execute other processes as described above with respect to step 802 of the method 800, which will not be described in detail.
[0107] Furthermore, the parsing module 1020 is also configured to execute other processes as described above with respect to step 804 of the method 800, which will not be described in detail.
[0108] Furthermore, the acquisition module 1030 is also configured to execute other processes as described above with respect to step 806 of the method 800 , which will not be described in detail.
[0109] Furthermore, the audio sending device 1000 may further include additional modules configured to perform additional processes as described above with respect to the additional steps of the method 800 , which will not be described in detail.
[0110] Figure 11 A block diagram of an exemplary audio transmission device 1100 according to an embodiment of the present disclosure is shown. The audio transmission device 1100 includes at least one processor 1110 and a memory 1120 coupled to the at least one processor 1110. The memory 1120 is configured to store computer-executable instructions that, when executed, cause the processor 1110 to perform the methods described in the above embodiments (e.g., any one or more steps of the aforementioned methods 300 or 800).
[0111] In addition, alternatively, the above method can be implemented by a computer-readable storage medium. The computer-readable storage medium is loaded with computer-readable program instructions for executing the various embodiments of the present disclosure. The computer-readable storage medium can be a tangible device that can hold and store instructions used by an instruction execution device. The computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, for example, a punch card or a protrusion structure in a groove on which instructions are stored, and any suitable combination thereof. The computer-readable storage medium used herein is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., light pulses through a fiber optic cable), or an electrical signal transmitted through wires.
[0112] Therefore, in another embodiment, the present disclosure provides a computer-readable storage medium having computer-executable instructions stored thereon, the computer-executable instructions being used to execute the methods in various embodiments of the present disclosure.
[0113] In addition, although exemplary embodiments have been described herein, the scope includes any and all embodiments based on the present disclosure with equivalent elements, modifications, omissions, combinations (e.g., solutions that intersect various embodiments), adaptations, or changes. The elements in the claims are to be interpreted broadly based on the language used in the claims and are not limited to the examples described in this specification or during the practice of the present disclosure, which examples are to be interpreted as non-exclusive. Therefore, this specification and examples are intended to be considered as examples only, with the true scope and spirit being indicated by the various claims in the claims and the full scope of their equivalents.
[0114] The above description is intended to be illustrative rather than restrictive. For example, the above examples (or one or more of them) can be used in combination with each other. For example, those of ordinary skill in the art may use other embodiments when reading the above description. In addition, in the above specific embodiments, various features can be grouped together to simplify the present disclosure. Disclosed features that are not required for protection in the claims are not essential for any claim. On the contrary, the subject matter of the present disclosure may be less than all the features of a specific disclosed embodiment.
[0115] Thus, the claims are hereby incorporated into the detailed description as examples or embodiments, with each claim standing on its own as a separate embodiment, and it is contemplated that the embodiments can be combined with each other in various combinations or permutations. The scope of protection of the present disclosure should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
[0116] As used herein, the term "if" is optionally interpreted to mean "when or upon" or "in response to determining that...." or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that..." or "if [stated condition or event] is detected" are optionally interpreted to mean "upon determining that..." or "in response to determining that...." or "upon detecting [stated condition or event]" or "in response to detecting [stated condition or event]," depending on the context.
Claims
1. A one-way audio transmission method, used for an audio sending device, the method comprising: Obtaining a first audio data packet; creating a broadcast synchronization group including a broadcast synchronization stream; determining time information and control information for synchronously playing first audio data corresponding to the first audio data packet, wherein the control information is related to a buffer of the audio sending device for buffering audio data packets; broadcasting the first audio data packet via at least one broadcast synchronization stream, and broadcasting the time information and the control information via audio data frames of the at least one broadcast synchronization stream, via a Bluetooth network; The time information indicates or is used to generate a moment for playing the first audio data on a timeline, so that the audio sending device and the audio receiving device receiving the at least one broadcast synchronization stream synchronously play the first audio data at the moment.
2. The method according to claim 1, further comprising: The first audio data is played based on the time information and the control information.
3. The method according to claim 2, further comprising: Adjusting playback parameters and the buffer for playing the first audio data based on the control information; and Playing the first audio data based on the time information and the control information includes: playing the first audio data based on the time information and the adjusted playback parameters.
4. The method according to claim 1, wherein Acquiring the first audio data packet includes: At the audio sending device, the first audio data packet is locally obtained.
5. The method according to claim 1, wherein Acquiring the first audio data packet includes: acquiring, from a computing device separate from the audio sending device, a second audio data packet transmitted by the computing device based on an audio transmission protocol; parsing the second audio data packet to obtain second audio data; The second audio data is encoded based on a Bluetooth transmission protocol supported by the audio sending device to obtain the first audio data packet, wherein the Bluetooth transmission protocol is different from the audio transmission protocol of the computing device.
6. The method according to claim 1 or 5, wherein: Broadcasting the first audio data packet via the Bluetooth network is based on a Bluetooth low energy audio transmission protocol supported by the audio sending device.
7. The method according to claim 1, further comprising: Information describing broadcast synchronization streams in the broadcast synchronization group is broadcasted via the Bluetooth network, wherein the information indicates that the at least one broadcast synchronization stream is encrypted.
8. The method according to claim 7, wherein: The information has at least one of a variable information length, a variable parameter, or a variable parameter value.
9. The method according to claim 7, further comprising: A message is broadcast over the Bluetooth network containing a first key for decrypting at least one encrypted broadcast synchronization stream, wherein the first key is included in an encrypted portion of the message.
10. A one-way audio transmission method, used for an audio receiving device, the method comprising: receiving, via the Bluetooth network, at least one broadcast isochronous stream in a broadcast isochronous group broadcast by an audio sending device; When an audio data packet is detected in a sub-event of the at least one broadcast synchronization stream, parsing the audio data packet to generate audio data; Acquire time information and control information for synchronously playing the audio data from the audio data frames of the at least one broadcast synchronization stream, wherein the control information is related to a buffer of the audio sending device for caching audio data packets; The time information indicates or is used to generate a moment for playing the first audio data on a time axis, so that the audio sending device and the audio receiving device synchronously play the audio data at the moment.
11. The method according to claim 10, further comprising: The audio data is played synchronously with the audio sending device based on the time information and the control information.
12. The method according to claim 11, further comprising: Adjusting playback parameters of the audio data based on the control information; and Playing the audio data synchronously with the audio sending device based on the time information and the control information includes: playing the audio data synchronously with the audio sending device based on the time information and the adjusted playback parameters.
13. The method according to claim 10, wherein: Before acquiring audio data from the at least one broadcast synchronization stream, the method further includes: receiving, via the Bluetooth network, information describing a broadcast synchronization stream in the broadcast synchronization group, which is broadcast by the audio sending device; Based on the information, it is determined that the at least one broadcast synchronization stream is encrypted.
14. The method according to claim 13, wherein Based on the information, determining that the at least one broadcast synchronization stream is encrypted includes: The at least one broadcast synchronization stream is determined to be encrypted based on evaluating at least one of a length of the information, a parameter included in the information, or a value range of a parameter included in the information.
15. The method according to claim 13, further comprising: A first key for decrypting at least one encrypted broadcast synchronization stream is obtained without requesting the first key from the audio sending device, wherein the first key is encrypted.
16. The method according to claim 15, wherein Obtaining a first key for decrypting at least one encrypted broadcast synchronization stream includes at least one of the following: receiving, via the Bluetooth network, a message including the first key broadcast by the audio sending device; Obtain the first secret key out-of-band.
17. The method according to claim 15, further comprising: Obtaining a second key for decrypting the first key; and The encrypted first key is decrypted using the second key to join the broadcast synchronization group.
18. The method according to claim 17, wherein Obtaining a second key for decrypting the first key includes at least one of the following: Retrieving the second key from a storage device associated with the audio receiving device; The second secret key is obtained out-of-band.
19. The method according to claim 17, wherein Before acquiring audio data from the at least one broadcast synchronization stream, the method further includes: The at least one broadcast synchronization stream is decrypted using the decrypted first key.
20. A one-way audio transmission device, comprising: An acquisition module, configured to acquire a first audio data packet; A creating module configured to create a broadcast synchronization group including a broadcast synchronization stream; a determining module configured to determine time information and control information for synchronously playing first audio data corresponding to the first audio data packet, wherein the control information is related to a buffer of the audio sending device for caching audio data packets; a broadcast module configured to broadcast the first audio data packet through at least one broadcast synchronization stream via a Bluetooth network, and broadcast the time information and the control information through audio data frames of the at least one broadcast synchronization stream; The time information indicates or is used to generate a moment for playing the first audio data on a timeline, so that the audio sending device and the audio receiving device receiving the at least one broadcast synchronization stream synchronously play the first audio data at the moment.
21. A one-way audio receiving device, comprising: a receiving module configured to receive, via a Bluetooth network, at least one broadcast synchronization stream in a broadcast synchronization group broadcast by an audio sending device; a parsing module configured to parse the audio data packet to generate audio data when an audio data packet is detected in a sub-event of the at least one broadcast synchronization stream; an acquisition module for acquiring time information and control information for synchronously playing the audio data from the audio data frames of the at least one broadcast synchronization stream, wherein the control information is related to a buffer of the audio sending device for caching audio data packets; The time information indicates or is used to generate a moment for playing the audio data on a time axis, so that the audio sending device and the audio receiving device synchronously play the audio data at the moment.
22. A one-way audio transmission device, comprising: at least one processor; as well as A memory for storing computer-executable instructions, which, when executed, cause the at least one processor to perform the one-way audio transmission method according to any one of claims 1 to 9 or the one-way audio transmission method according to any one of claims 10 to 19.
23. A computer-readable storage medium having computer-executable instructions stored thereon, the computer-executable instructions being configured to execute the one-way audio transmission method according to any one of claims 1 to 9 or the one-way audio transmission method according to any one of claims 10 to 19.
Citation Information
Patent Citations
Communication processing method, apparatus, electronic device, and storage medium
CN109275129A
Single-point-to-multipoint wireless audio two-way transmission method, system and equipment
CN114727387A
Audio data transmission method, electronic equipment and storage medium
CN114765761A