Wireless audio transmission method, device, equipment, medium and program product
By dynamically adjusting the refresh timeout value and actively discarding non-critical audio packets, the problem of packet loss hiding technology in the event of poor wireless channel quality is solved, and the transmission quality and reliability of wireless audio are improved.
Patent Information
- Application Number
- CN202411195317.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-27
- Publication Date
- 2024-12-31
- Estimated Expiration
- 2044-08-27
AI Technical Summary
When the wireless channel quality is poor, in BLE Audio audio systems, packet loss hiding technology is difficult to eliminate the impact of continuous packet loss on audio performance, especially on packet loss on critical audio data.
By determining whether the communication link meets the dynamic refresh timeout condition, dynamically adjust the refresh timeout value, actively discard non-critical audio packets to reduce the probability of continuous packet loss, and return correctly received confirmation information when necessary to avoid retransmission of audio packets.
Effectively eliminate the impact of audio data loss on audio performance and improve the transmission quality and reliability of wireless audio, especially in environments where wireless channel quality is unstable.
Smart Images

Figure CN119232332A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of wireless communication technology, and in particular to a wireless audio transmission method, apparatus, device, medium and program product. Background Art
[0002] Wireless audio technology brings people unfettered free calls and music sharing, and is widely loved by people. In particular, BLE (Bluetooth Low Energy) audio technology uses synchronous isochronous channels (Isochronous Channels) protocol, including the connected isochronous stream (CIS) link of single-point to single-point communication and the connected isochronous group (CIG) protocol composed of at least one CIS link, as well as the broadcast isochronous stream (BIS) link of single-point to multi-point communication and the broadcast isochronous group (BIG) protocol composed of at least one BIS link, which brings people lower power consumption, lower cost, higher quality, lower latency and richer wireless audio services. For example, the True Wireless Stereo (TWS) headset is realized by the CIG link composed of two CIS links.
[0003] However, when using CIS link to transmit audio data, each audio data packet is retransmitted a limited number of times. In order to solve the packet loss problem caused by limited retransmission, the BLE Audio audio system usually uses Packet Loss Concealment (PLC) to eliminate the impact of audio data loss on audio performance. In order to ensure better audio quality, the BLE Audio audio system will set a larger maximum number of retransmissions to reduce the total probability of packet loss.
[0004] However, when the wireless channel quality is poor, for example, in a fading or interference environment, the effective bandwidth is insufficient, and a larger maximum number of retransmissions will lead to a higher probability of continuous packet loss. However, PLC technology is difficult to eliminate the impact of continuous packet loss on audio performance. In addition, PLC technology is also difficult to eliminate the impact of key audio data packet loss on audio performance. Summary of the invention
[0005] The embodiments of the present application provide a wireless audio transmission method, apparatus, device, medium and program product to solve the technical problem in the related art that when the quality of the wireless channel is poor, the PLC technology is difficult to eliminate the impact of continuous packet loss on audio performance.
[0006] In a first aspect, an embodiment of the present application provides a wireless audio transmission method, the method comprising:
[0007] Determine whether the communication link with the audio source device meets the dynamic refresh timeout condition;
[0008] If yes, then receiving the audio data packet from the audio source device based on the dynamic refresh timeout value.
[0009] Optionally, after determining whether the communication link with the audio source device satisfies a dynamic refresh timeout condition, the method further includes:
[0010] If the dynamic refresh timeout condition is not met, an audio data packet is received from the audio source device based on a fixed first refresh timeout value.
[0011] Optionally, receiving an audio data packet from the audio source device based on a dynamic refresh timeout value includes:
[0012] Determine whether the reception of the audio data packet meets the preset active packet loss condition;
[0013] If no, the audio data packet from the sound source device will be received based on the first refresh timeout value, and if yes, the audio data packet from the sound source device will be received based on the second refresh timeout value, wherein the second refresh timeout value is less than the first refresh timeout value.
[0014] Optionally, receiving an audio data packet from an audio source device based on a second refresh timeout value includes:
[0015] Determine whether the number of times the current audio data packet is received from the sound source device reaches the maximum number of times corresponding to the second refresh timeout value, and if so, return correct reception confirmation information to the sound source device even if the current audio data packet is not successfully received;
[0016] Among them, the maximum number of receptions corresponding to the first refresh timeout value is greater than the maximum number of receptions corresponding to the second refresh timeout value.
[0017] Optionally, the preset active packet loss condition is:
[0018] The reception condition of the audio data packet is at least one of the following: the current audio data packet is a non-critical audio data packet, or, before the current audio data packet, a preset number of audio data packets have been continuously received, wherein the non-critical audio data packet includes at least one of the following: an audio data packet whose audio amplitude value is less than a preset amplitude value, an audio data packet whose audio signal's time domain correlation is greater than a preset time domain value, an audio data packet whose actual occupied bandwidth is less than a preset bandwidth value, and the audio data packet is a non-voice data packet.
[0019] Optionally, determining whether the communication link with the sound source device satisfies a dynamic refresh timeout condition; if so, receiving an audio data packet from the sound source device based on the dynamic refresh timeout value includes:
[0020] In each equal time interval, it is determined whether the communication link with the sound source device meets the dynamic refresh timeout condition; if so, an audio data packet from the sound source device is received based on the dynamic refresh timeout value.
[0021] Optionally, the dynamic refresh timeout condition is:
[0022] The effective bandwidth of the communication link is lower than a preset threshold.
[0023] Optionally, the effective bandwidth of the communication link being lower than a preset threshold includes at least one of the following:
[0024] The packet loss probability is greater than the preset packet loss threshold;
[0025] SINR (Signal to Interference plus Noise Ratio) is less than the preset SINR threshold;
[0026] The signal strength is less than the preset signal strength threshold.
[0027] In a second aspect, an embodiment of the present application provides a wireless audio transmission method, the method comprising:
[0028] When the reception of the audio data packet meets the preset active packet loss condition, determining whether the number of receptions of the current audio data packet received from the audio source device reaches the maximum number of receptions corresponding to the second refresh timeout value, and if so, returning correct reception confirmation information to the audio source device if the current audio data packet is not successfully received, otherwise continuing to receive the current data packet;
[0029] When the reception of the audio data packet does not meet the preset active packet loss condition, determine whether the number of receptions of the current audio data packet from the audio source device reaches the maximum number of receptions corresponding to the first refresh timeout value, and if so, start receiving the next audio data packet, otherwise continue to receive the current data packet;
[0030] Among them, the maximum number of receptions corresponding to the first refresh timeout value is greater than the maximum number of receptions corresponding to the second refresh timeout value.
[0031] Optionally, the preset active packet loss condition is:
[0032] The reception condition of the audio data packet is at least one of the following: the current audio data packet is a non-critical audio data packet, or, before the current audio data packet, a preset number of audio data packets have been continuously received, wherein the non-critical audio data packet includes at least one of the following: an audio data packet whose audio amplitude value is less than a preset amplitude value, an audio data packet whose audio signal's time domain correlation is greater than a preset time domain value, an audio data packet whose actual occupied bandwidth is less than a preset bandwidth value, and the audio data packet is a non-voice data packet.
[0033] In a third aspect, an embodiment of the present application provides a wireless audio transmission device, the device comprising:
[0034] A determination module, used to determine whether the communication link with the audio source device meets the dynamic refresh timeout condition;
[0035] The execution module is used for receiving the audio data packet from the audio source device based on the dynamic refresh timeout value when the judgment result of the judgment module is yes.
[0036] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of a wireless audio transmission method as described in the first aspect or the second aspect are implemented.
[0037] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of a wireless audio transmission method as described in the first aspect or the second aspect are implemented.
[0038] In a sixth aspect, an embodiment of the present application provides a computer program product, comprising computer instructions, which, when executed by a processor, implement the steps of a wireless audio transmission method as described in the first aspect or the second aspect.
[0039] In the method shown in the embodiment of the present application, it is first determined whether the communication link with the audio source device meets the dynamic refresh timeout condition; if so, the audio data packet from the audio source device is received based on the dynamic refresh timeout value. Thus, the refresh timeout value can be dynamically adjusted according to the dynamic refresh timeout condition (such as the actual communication link condition), avoiding the use of a fixed refresh timeout value under different communication link conditions, which causes the transmission of the data packet to be inconsistent with the actual link situation, thereby causing a higher probability of continuous packet loss. The impact of audio data loss on audio performance can be minimized, and the performance of wireless audio can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:
[0041] Figure 1 A structural block diagram of a wireless audio transmission system based on a DFT-CIG link provided in an embodiment of the present application;
[0042] Figure 2 A flowchart of a wireless audio transmission method provided in an embodiment of the present application;
[0043] Figure 3 A flowchart of a wireless audio transmission method provided in an embodiment of the present application;
[0044] Figure 4 A flowchart of a wireless audio transmission method provided in an embodiment of the present application;
[0045] Figure 5A A schematic diagram of the structure of the receiving and transmitting time slots of a CIG link using a first refresh timeout value for audio transmission provided in an embodiment of the present application;
[0046] Figure 5B A schematic diagram of the transmit and receive timeslot structure of a DFT-CIG link for audio transmission using a dynamic refresh timeout value provided in an embodiment of the present application;
[0047] Figure 6 A structural block diagram of a wireless audio transmission device provided in an embodiment of the present application;
[0048] Figure 7 A structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0049] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0050] In the embodiment of the present application, the communication link shown can be a DFT-CIS (Dynamic Flush Timeout-Connected Isochronous Stream) link, and a DFT-CIG (Dynamic Flush Timeout-Connected Isochronous Group) link composed of at least one DFT-CIS link. As long as it is a communication link that supports data packet transmission based on refresh timeout, the embodiment of the present application does not impose any restrictions on this.
[0051] For example, Figure 1 A structural block diagram of a wireless audio system based on DFT-CIG is shown. The wireless audio system consists of a DFT-CIG sound source device, which can also be called a central device (Central), and a DFT-CIG peripheral device (Peripheral). The DFT-CIG sound source device can be a smart phone, a personal computer, a tablet computer, a smart TV, etc. The DFT-CIG peripheral device can be a wireless headset or a wireless speaker. A CIG link based on DFT (Dynamic Flush Timeout) is used between the DFT-CIG sound source device and the DFT-CIG peripheral device, that is, the DFT-CIG link is used to transmit audio data. It should be noted that the CIG link using DFT is called a DFT-CIG link, and the CIS link using DFT is called a DFT-CIS link.
[0052] Figure 2 A wireless audio transmission method provided according to an embodiment of the present application is shown, such as Figure 2 As shown, the method includes:
[0053] Step S201, determining whether the communication link with the audio source device meets the dynamic refresh timeout condition;
[0054] Step S202: If the dynamic refresh timeout condition is met, an audio data packet is received from the audio source device based on the dynamic refresh timeout value.
[0055] It should be noted that Figure 2 The method shown can be applied to Figure 1 In the wireless audio system shown, and Figure 2 The execution subject of the method shown is a peripheral device, such as Figure 1 DFT-CIG peripherals in.
[0056] The dynamic refresh timeout condition is: the effective bandwidth of the communication link is lower than the preset threshold. Whether the effective bandwidth of the communication link is lower than the preset threshold can be determined by at least one of the following: the packet loss probability is greater than the preset packet loss threshold, the SINR is lower than the preset SINR threshold, and the signal strength is lower than the preset signal strength threshold. If at least one of the above three items is met, it can be determined that the effective bandwidth is lower than the preset threshold, that is, the wireless channel quality is poor.
[0057] It should be noted that Figure 2 The prerequisite of the scheme shown is that a communication link (such as a DFT-CIG link) has been established between the sound source device and the peripheral devices, and the peripheral devices receive the audio data packets sent by the sound source device based on the communication link. In step S201, it is necessary to determine whether the communication link with the sound source device meets the dynamic refresh timeout condition, that is, to determine the quality of the wireless channel. The quality of the wireless channel can be determined by measuring the packet loss probability in real time. If the packet loss probability is greater than the preset packet loss threshold, more resources are required for retransmission, resulting in insufficient effective bandwidth; it can also be determined by signal strength or SINR. The weaker the signal strength or the lower the SINR, the greater the packet loss probability. If the packet loss probability is greater than the preset packet loss threshold, more resources are required for retransmission, resulting in insufficient effective bandwidth.
[0058] In step S202, if the dynamic refresh timeout condition is met, an audio data packet is received from the audio source device based on the dynamic refresh timeout value.
[0059] It should be noted that the peripheral device can pre-coordinate with the audio source device a first refresh timeout value, which is used to indicate the maximum time that the audio data packet in the buffer can be retained before being discarded. The audio data packet will attempt to retransmit a preset number of times during this period. If it is not successfully sent, the audio data packet will be discarded. In the case of poor channel conditions and insufficient effective bandwidth, the probability of continuous packet loss can be reduced by actively discarding certain data packets by dynamically adjusting the refresh timeout value, thereby reducing the impact on the audio transmission quality, and especially avoiding the loss of key audio data packets. As a result, the system can respond to different communication conditions more flexibly, especially in an environment where the quality of the wireless channel is unstable. For example, when the communication conditions deteriorate and the effective bandwidth is reduced, the system can reduce the backlog of data in the buffer by shortening the refresh timeout value, thereby reducing the problem of continuous packet loss caused by buffer overflow or timeout waiting.
[0060] Correspondingly, in a possible implementation, after determining whether the communication link with the audio source device satisfies the dynamic refresh timeout condition, the method further includes: if the dynamic refresh timeout condition is not satisfied, receiving the audio data packet from the audio source device based on a fixed first refresh timeout value. That is, if the communication condition is normal, the audio data packet from the audio source device is still received normally based on the preset first refresh timeout value.
[0061] In one possible implementation, step S202, receiving an audio data packet from a sound source device based on a dynamic refresh timeout value includes: determining whether the reception status of the audio data packet meets a preset active packet loss condition; if not, receiving the audio data packet from the sound source device based on a first refresh timeout value; if yes, receiving the audio data packet from the sound source device based on a second refresh timeout value, wherein the second refresh timeout value is less than the first refresh timeout value.
[0062] Receiving the audio data packet from the sound source device based on the second refresh timeout value includes: determining whether the number of receptions of the current audio data packet from the sound source device has reached the maximum number of receptions corresponding to the second refresh timeout value, and if so, returning correct reception confirmation information to the sound source device even if the current audio data packet has not been successfully received; wherein the maximum number of receptions corresponding to the first refresh timeout value is greater than the maximum number of receptions corresponding to the second refresh timeout value. It should be noted that returning correct reception confirmation information to the sound source device is actually to "cheat" the sound source device into having received the current audio data packet when the current audio data packet has not been successfully received, thereby preventing the sound source device from continuing to send the current audio data packet, so that the sound source device can continue to send the next audio data packet. This situation is equivalent to actively discarding the current audio data packet.
[0063] It should be noted that the preset active packet loss condition is: the reception condition of the audio data packet is at least one of the following: the current audio data packet is a non-critical audio data packet, or, before the current audio data packet, a preset number of audio data packets have been received continuously, wherein the non-critical audio data packets include at least one of the following: an audio data packet whose audio amplitude value is less than a preset amplitude value, an audio data packet whose audio signal's time domain correlation is greater than a preset time domain value, an audio data packet whose actual occupied bandwidth is less than a preset bandwidth value, and the audio data packet is a non-voice data packet.
[0064] The audio data packet may contain environmental sound, noise or other types of audio, rather than human voice. Usually, the default voice data packet is more critical, and the audio data packet may be a non-voice data packet.
[0065] That is to say, there are two situations. If the audio data packet to be received currently is not critical, the audio data packet will be discarded, and the critical audio data packets will be retained, which will not cause much impact on the audio transmission quality; if a preset number of audio data packets are received continuously, then in order to alleviate the transmission pressure caused by the low communication bandwidth, an audio data packet can be actively discarded. At this time, it will not cause much impact on the audio transmission quality. Selectively discarding audio data packets and actively choosing the time to discard can avoid subsequent continuous packet loss that may occur.
[0066] It should be noted that if the preset active packet loss condition is met, the audio data packet from the sound source device is received based on a relatively small refresh timeout value (second refresh timeout value), and if the preset active packet loss condition is not met, the audio data packet from the sound source device is received based on a relatively large first refresh timeout value. Thus, when the preset active packet loss condition is not met, the reliability of wireless audio transmission can be guaranteed with a sufficiently large maximum number of retransmissions (or the maximum number of receptions, different refresh timeout values correspond to different maximum number of receptions), and when the preset active packet loss condition is met, the refresh timeout value can be adjusted to actively lose packets, thereby avoiding a higher probability of continuous packet loss and improving the performance of wireless audio.
[0067] In one possible implementation, determining whether the communication link with the sound source device satisfies a dynamic refresh timeout condition; if so, receiving the audio data packet from the sound source device based on the dynamic refresh timeout value includes: determining whether the communication link with the sound source device satisfies a dynamic refresh timeout condition within each equal time interval; if so, receiving the audio data packet from the sound source device based on the dynamic refresh timeout value.
[0068] That is to say, determine whether the communication link with the sound source device meets the dynamic refresh timeout condition; if so, the step of receiving the audio data packet from the sound source device based on the dynamic refresh timeout value is cyclically performed in each equal time interval, thereby continuously monitoring the communication environment to maximize the audio transmission quality and improve the user experience.
[0069] In one possible implementation, after receiving the audio data packet from the sound source device based on the dynamic refresh timeout value, the method also includes: determining whether the communication link is disconnected; if the communication link is not disconnected, then within the next equal time interval, continuing to execute the step of determining whether the communication link with the sound source device meets the dynamic refresh timeout condition; if so, then receiving the audio data packet from the sound source device based on the dynamic refresh timeout value.
[0070] In other words, the status of the communication link can be continuously monitored. After each transmission at an equal time interval, the peripheral device needs to check the status of the communication link with the audio source device to confirm whether the communication link is still stable and effective, thereby ensuring the continuous reception and playback of audio data. If the communication link is stable, the peripheral device will continue to receive the audio data packets in the next equal time interval; if the communication link is disconnected, the peripheral device will terminate the receiving process to ensure the continuous and stable transmission of data, thereby maintaining the audio playback quality and continuity of the wireless audio device.
[0071] Take the communication link as DFT-CIG link as an example. Figure 3 The specific receiving process of the audio data packet based on the DFT-CIG link, i.e., the adaptive wireless audio transmission method, is shown. Figure 3 The process shown can be applied to Figure 1 In the wireless audio system shown, the process specifically includes: after establishing the DFT-CIG link, when the DFT-CIG peripheral device is preparing to receive the audio data packet at each equal time interval, it determines whether the poor quality of the wireless channel leads to insufficient effective bandwidth. If the effective bandwidth is sufficient, the audio data packet is received according to the normal FT (Flush Timeout) value (equivalent to the first refresh timeout value mentioned above); if the effective bandwidth is insufficient, the audio data packet is received by the dynamic control FT method. When the audio data packet is received by the dynamic control FT method, if the active packet loss condition is met, then in the current equal time interval, when the number of failed audio data packet receptions (number of retransmissions) does not reach the maximum number of receptions corresponding to the FT value, the DFT-CIG peripheral device can actively reply to the confirmation information of correct reception (actually not received), so that the DFT-CIG audio source device refreshes the audio data packet to be sent in advance to send the next new audio data packet; if the active packet loss condition is not met, the audio data packet is still received according to the normal FT value. After each equal time interval reception, if the DFT-CIG link is not disconnected, prepare for the reception of the next equal time interval; if the DFT-CIG link is disconnected, the reception ends.
[0072] The main features of the DFT-CIG link are now described to clarify the adaptive wireless audio transmission method shown in the embodiment of the present application. Compared with the CIG link, the main features of the DFT-CIG link are as follows:
[0073] 1. When the quality of the wireless channel is good, the DFT-CIG peripheral device negotiates a larger refresh timeout value with the DFT-CIG audio source device to ensure the reliability of wireless audio transmission with a sufficiently large maximum number of retransmissions.
[0074] 2. When the quality of the wireless channel is poor (for example, in a fading or interference environment, the effective bandwidth is insufficient), the DFT-CIG peripheral device uses a smaller refresh timeout to actively drop packets according to the reception characteristics or audio characteristics. That is, before the number of retransmissions reaches the maximum number of retransmissions corresponding to the above-mentioned smaller refresh timeout, even if it is not correctly received, it will actively reply with confirmation information of correct reception, so that the DFT-CIG audio source device can refresh the sent audio data packet in advance to send the next new audio data packet. The purpose of active packet loss is to make it easier to use packet loss concealment technology to eliminate the impact of audio data loss on audio performance, thereby improving the performance of wireless audio.
[0075] 3. In the second item above, active packet loss according to the receiving characteristics means that when a certain number of audio data packets are continuously and correctly received, the DFT-CIG peripheral device actively replies with confirmation information of correct reception even if it is not correctly received before the number of retransmissions of the currently received audio data packet reaches the maximum number of retransmissions corresponding to the FT value, so as to facilitate the DFT-CIG audio source device to refresh the sent audio data packet in advance or send the next new audio data packet. If one or more previous audio data packets have been actively lost, passively lost or failed to be received (that is, when packets have been lost), the confirmation information of incorrect reception is always replied until the number of retransmissions reaches the limit of the maximum number of retransmissions corresponding to the FT value. That is, the purpose of active packet loss according to the receiving characteristics is to reduce the probability of continuous packet loss, which is more conducive to the use of packet loss concealment technology to eliminate the impact of audio data loss on audio performance, thereby improving the performance of wireless audio. Among them, the receiving characteristics refer to no packet loss for a certain period of time. In general, a smaller FT can be used when there is no packet loss for a certain period of time, and a larger FT can be used when there is at least one packet loss, so as to reduce the probability of continuous packet loss when the total packet loss probability is constant.
[0076] 4. In the above-mentioned Article 2, active packet loss based on audio characteristics means that the DFT-CIG peripheral device, for the current non-critical audio data packets, for example, audio data packets with a small amplitude, audio data packets with a small actual audio bandwidth and a large time domain correlation (specifically, the audio characteristics of the audio data packets being received can be predicted based on the audio characteristics of the audio data packets that have been correctly received, that is, under normal circumstances, the audio data packets will not mutate), and the corresponding critical audio data packets refer to audio data packets with a large actual bandwidth or a small time domain correlation), before the number of retransmissions reaches the maximum number of retransmissions corresponding to the FT value, it will actively reply with confirmation information of correct reception even if it is not correctly received, so as to facilitate the DFT-CIG audio source device to refresh the sent audio data packets in advance or send the next new audio data packet. For critical audio data packets, for example, audio data packets with a large actual audio bandwidth or a small time domain correlation, it will continue to reply with confirmation information of not being correctly received until the number of retransmissions reaches the limit of the maximum number of retransmissions corresponding to the FT value. That is, the purpose of actively dropping packets according to audio characteristics is to increase the probability of dropping non-critical audio data packets to reduce the probability of dropping critical audio data packets, which is more conducive to using packet loss concealment technology to eliminate the impact of audio data loss on audio performance, thereby improving the performance of wireless audio.
[0077] It should be noted that the possible characteristics of the next audio data packet being received can be predicted by analyzing the characteristics of the successfully received audio data packets, such as frequency distribution, amplitude, bandwidth, and time domain pattern. This prediction can be based on a machine learning algorithm or a simple statistical model, and can be estimated based on historical data and current reception trends. For example, if multiple consecutive data packets show similar frequency and amplitude characteristics, the system may predict that the next data packet will also continue this characteristic (normally, audio data packets will not mutate), thereby determining it as a non-critical or critical data packet. The purpose of this strategy is to optimize the transmission efficiency and quality of audio data by distinguishing between data packets of different importance, and actively abandoning non-critical data packets, which can free up more resources and bandwidth for the successful transmission of critical data packets.
[0078] 5. The quality of the wireless channel can be determined by measuring the packet loss probability in real time. If the packet loss probability is greater than a certain threshold, more resources are required for retransmission, resulting in insufficient effective bandwidth. It can also be determined by signal strength or SINR. The weaker the signal strength or the lower the SINR, the greater the packet loss probability. If the packet loss probability is greater than a certain threshold, more resources are required for retransmission, resulting in insufficient effective bandwidth.
[0079] Figure 4 It is shown that a wireless audio transmission method is provided according to an embodiment of the present application, such as Figure 4 As shown, the method includes:
[0080] Step S401: when the reception of the audio data packet meets the preset active packet loss condition, determine whether the number of receptions of the current audio data packet from the audio source device reaches the maximum number of receptions corresponding to the second refresh timeout value; if yes, execute step S402; if no, execute step S403;
[0081] Step S402: if the current audio data packet is not successfully received, a correct reception confirmation message is still returned to the audio source device;
[0082] Step S403, continue receiving the current data packet;
[0083] Step S404: when the reception of the audio data packet does not meet the preset active packet loss condition, determine whether the number of receptions of the current audio data packet from the audio source device reaches the maximum number of receptions corresponding to the first refresh timeout value; if yes, execute step S405; if no, execute step S406;
[0084] Step S405, start receiving the next audio data packet;
[0085] Step S406, continue receiving the current data packet;
[0086] Among them, the maximum number of receptions corresponding to the first refresh timeout value is greater than the maximum number of receptions corresponding to the second refresh timeout value.
[0087] In one possible implementation, the preset active packet loss condition is: the reception condition of the audio data packet is at least one of the following: the current audio data packet is a non-critical audio data packet, or, before the current audio data packet, a preset number of audio data packets have been received continuously, wherein the non-critical audio data packet includes at least one of the following: an audio data packet whose audio amplitude value is less than a preset amplitude value, an audio data packet whose audio signal's time domain correlation is greater than a preset time domain value, an audio data packet whose actual occupied bandwidth is less than a preset bandwidth value, and the audio data packet is a non-voice data packet.
[0088] Now Figure 5A and Figure 5B The DFT-CIG link transmit and receive time slot structure shown is a specific application scenario. Figure 4 The wireless audio transmission method shown. Figure 5A To adopt the normal FT time slot structure, Figure 5B It adopts the time slot structure of dynamically adjusting FT. Figure 5A and Figure 5BIn the example, the DFT-CIG link includes a DFT-CIS (dynamic refresh timeout-connected isochronous stream) link, the isochronous interval (ISO Interval) is 10ms, the number of subevents (NSE) in each isochronous interval is 2, the burst number (BN) is 1, and FT is equal to 3.
[0089] like Figure 5A and Figure 5B As shown, each includes two time axes, time axis C represents the time axis of the DFT-CIG sound source device sending audio data packets, and P represents the time axis of the DFT-CIG peripheral device sending confirmation information packets, and the two time axes overlap. The boxes on the C time axis represent the DFT-CIS audio data packets sent by the DFT-CIG sound source device, and the boxes on the P time axis represent the confirmation packets carrying confirmation information sent by the DFT-CIG peripheral device, including the confirmation packets (ACK) of correct reception and the confirmation packets (NAK) of incorrect reception. The dotted box on the P time axis represents incorrect reception, and the solid box represents correct reception. The ACK in the dotted box indicates that the confirmation packet of correct reception is not correctly received but is replied, and the ACK in the solid box indicates that the confirmation packet of correct reception is correctly received and is replied.
[0090] like Figure 5A As shown, since FT=3, the FT point of the audio data packet (P11) with sequence number 11 is within the event (Event 13) with sequence number 13, the FT point of the audio data packet (P12) with sequence number 12 is within the event (Event 14) with sequence number 14, and the FT point of the audio data packet (P13) with sequence number 13 is within the event (Event 15) with sequence number 15. The audio data packet (P11) with sequence number 11 is sent from the event (Event 11) with sequence number 11, and is sent 5 times in total. The DFT-CIG peripheral device fails to receive the first 4 times and responds with NAK. In the 5th transmission within the event (Event 13) with sequence number 13, the DFT-CIG peripheral device receives correctly and responds with ACK. P12 is sent 3 times to the FT point, and the DFT-CIG peripheral device fails to receive and responds with NAK. P13 was sent twice to the FT point, but the DFT-CIG peripheral device failed to receive it and responded with NAK. P14, P15, P16, and P17 were all sent once before reaching the FT point and were correctly received by the DFT-CIG peripheral device and responded with ACK. It can be seen that two consecutive audio data packets of P12 and P13 were lost.
[0091] In order to solve the Figure 5A The problem of losing two audio data packets in succession is solved by the embodiment of the present application. Figure 5B The method for dynamically controlling FT is shown in FIG. Figure 5B As shown, it is assumed that the DFT-CIG sound source device sends multiple consecutive (for example: at least 4) audio data packets (i.e. at least P7, P8, P9 and P10) before the audio data packet P11 is correctly received by the DFT-CIG peripheral device and replied with ACK. When the DFT-CIG sound source device sends P11 for the third time, although the DFT-CIG peripheral device does not correctly receive P11, it replies with ACK. P12 is correctly received by the DFT-CIG peripheral device and replied with ACK when it is sent for the second time. However, P13 is not correctly received by the DFT-CIG peripheral device even when it reaches the maximum FT point. It can be seen that after the DFT-CIG peripheral device actively discards P11 by dynamically controlling the FT method, P12 is correctly received, thereby avoiding the problem of two consecutive audio data packets P12 and P13 being lost.
[0092] In addition, assume that P11 is a non-critical audio data packet and P12 is a critical audio data packet. Figure 5B As shown, P12 can be correctly received by actively losing P11.
[0093] It should be noted that the DFT-CIG audio source device discarding P11 when it sends it for the third time is only an exemplary explanation. If the communication bandwidth is insufficient and the active packet loss conditions are met, the active packet loss can be performed as long as the number of retransmissions of the audio data packet reaches the initial FT value (equivalent to using a smaller refresh timeout to actively lose packets), and it is not necessarily limited to the number of packet losses. Compared with actively discarding P11 and not correctly receiving P13, the continuous loss of two audio data packets P12 and P13 will cause obvious audio interruption and increase the difficulty of error correction. It may be impossible to recover the lost content, affecting the user experience.
[0094] It should be noted that, in specific implementation, the following method can be adopted: if the preset active packet loss condition is met, the initial refresh timeout is reduced, and it is determined whether the number of receptions of the current audio data packet to be received reaches the maximum number of receptions corresponding to the reduced refresh timeout; when the number of receptions reaches the maximum number of receptions corresponding to the reduced refresh timeout, and the current audio data packet to be received is not received, a correct reception confirmation message is still returned to the audio source device to discard the current audio data packet to be received and receive the next audio data packet from the audio source device. In other words, assuming that the maximum number of receptions corresponding to the initial refresh timeout is 5 times, and the maximum number of receptions corresponding to the reduced refresh timeout is 3 times, then when the number of retransmissions of the audio data packet reaches 3 times, the packet can be actively lost, or the reduced refresh timeout can be set to 1 time, then when the number of retransmissions of the audio data packet reaches 1 time, the packet is actively lost. It can be flexibly set according to actual conditions.
[0095] In summary, if the preset active packet loss condition is met, the audio data packet from the sound source device is received based on a relatively small refresh timeout value (second refresh timeout value), and if the preset active packet loss condition is not met, the audio data packet from the sound source device is received based on a relatively large first refresh timeout value. Therefore, when the preset active packet loss condition is not met, the reliability of wireless audio transmission can be guaranteed with a relatively large maximum number of receptions, and when the preset active packet loss condition is met, active packet loss can be performed with a relatively small maximum number of receptions, thereby avoiding a higher probability of continuous packet loss and improving the performance of wireless audio.
[0096] The present application embodiment provides a wireless audio transmission device, such as Figure 6 As shown, the device 60 includes:
[0097] A determination module 601 is used to determine whether the communication link with the audio source device meets a dynamic refresh timeout condition;
[0098] The execution module 602 is used to receive an audio data packet from an audio source device based on a dynamic refresh timeout value when the determination result of the determination module is yes.
[0099] In a possible implementation, the execution module 602 is also used to, after determining whether the communication link with the sound source device satisfies a dynamic refresh timeout condition, receive an audio data packet from the sound source device based on a fixed first refresh timeout value if the dynamic refresh timeout condition is not satisfied.
[0100] In one possible implementation, the execution module 602 is also used to determine whether the reception status of the audio data packet meets the preset active packet loss condition; if not, the audio data packet from the sound source device will be received based on the first refresh timeout value; if yes, the audio data packet from the sound source device will be received based on the second refresh timeout value, wherein the second refresh timeout value is less than the first refresh timeout value.
[0101] In a possible implementation, the execution module 602 is further configured to determine whether the number of times the current audio data packet is received from the audio source device reaches the maximum number of times the current audio data packet is received corresponding to the second refresh timeout value, and if so, if the current audio data packet is not successfully received, still return correct reception confirmation information to the audio source device;
[0102] Among them, the maximum number of receptions corresponding to the first refresh timeout value is greater than the maximum number of receptions corresponding to the second refresh timeout value.
[0103] In a possible implementation, the preset active packet loss condition is:
[0104] The reception condition of the audio data packet is at least one of the following: the current audio data packet is a non-critical audio data packet, or a preset number of audio data packets have been continuously received before the current audio data packet, wherein the non-critical audio data packet includes at least one of the following: an audio data packet whose audio amplitude value is less than a preset amplitude value, an audio data packet whose audio signal's time domain correlation is greater than a preset time domain value, an audio data packet whose actual occupied bandwidth is less than a preset bandwidth value, and the audio data packet is a non-voice data packet.
[0105] In a possible implementation, the judgment module 601 is further used to judge whether the communication link with the sound source device meets the dynamic refresh timeout condition in each equal time interval; if so, receive the audio data packet from the sound source device based on the dynamic refresh timeout value.
[0106] In a possible implementation, the dynamic refresh timeout condition is:
[0107] The effective bandwidth of the communication link is below a preset threshold.
[0108] In a possible implementation, the effective bandwidth of the communication link being lower than a preset threshold includes at least one of the following: the packet loss probability is greater than a preset packet loss threshold; the SINR is less than a preset SINR threshold; and the signal strength is less than a preset signal strength threshold.
[0109] Therefore, the refresh timeout value can be dynamically adjusted according to the dynamic refresh timeout conditions (such as the actual communication link conditions), avoiding the use of a fixed refresh timeout value under different communication link conditions, which may cause the transmission of data packets to not match the link conditions, thereby leading to a higher probability of continuous packet loss. This can minimize the impact of audio data loss on audio performance and improve the performance of wireless audio.
[0110] The present application embodiment also provides an electronic device 70, such as Figure 7 As shown, it includes: a processor 701, a memory 702, and a program stored in the memory 702 and executable on the processor 701. When the program is executed by the processor 701, the steps of the wireless audio transmission method shown in the above embodiment are implemented.
[0111] The embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the wireless audio transmission method shown in the above embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0112] The embodiment of the present application also provides a computer program product, including computer instructions. When the computer instructions are executed by a processor, the steps of the wireless audio transmission method shown in the above method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, they are not repeated here.
[0113] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0114] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a communication device, etc.) to execute the methods described in each embodiment of the present application.
[0115] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
Claims
1. A wireless audio transmission method, characterized in that: The method comprises: Determine whether the communication link with the audio source device meets the dynamic refresh timeout condition; If yes, then receiving the audio data packet from the audio source device based on the dynamic refresh timeout value.
2. The method according to claim 1, characterized in that After determining whether the communication link with the audio source device satisfies the dynamic refresh timeout condition, the method further includes: If the dynamic refresh timeout condition is not met, an audio data packet is received from the audio source device based on a fixed first refresh timeout value.
3. The method according to claim 1, characterized in that Receiving an audio data packet from the audio source device based on a dynamic refresh timeout value includes: Determine whether the reception of the audio data packet meets the preset active packet loss condition; If no, the audio data packet from the sound source device will be received based on the first refresh timeout value, and if yes, the audio data packet from the sound source device will be received based on the second refresh timeout value, wherein the second refresh timeout value is less than the first refresh timeout value.
4. The method according to claim 3, characterized in that Receiving an audio data packet from an audio source device based on a second refresh timeout value comprises: Determine whether the number of times the current audio data packet is received from the sound source device reaches the maximum number of times corresponding to the second refresh timeout value, and if so, return correct reception confirmation information to the sound source device even if the current audio data packet is not successfully received; Among them, the maximum number of receptions corresponding to the first refresh timeout value is greater than the maximum number of receptions corresponding to the second refresh timeout value.
5. The method according to claim 3, characterized in that: The preset active packet loss condition is: The reception condition of the audio data packet is at least one of the following: the current audio data packet is a non-critical audio data packet, or, before the current audio data packet, a preset number of audio data packets have been continuously received, wherein the non-critical audio data packet includes at least one of the following: an audio data packet whose audio amplitude value is less than a preset amplitude value, an audio data packet whose audio signal's time domain correlation is greater than a preset time domain value, an audio data packet whose actual occupied bandwidth is less than a preset bandwidth value, and the audio data packet is a non-voice data packet.
6. The method according to claim 1, characterized in that Determine whether the communication link with the audio source device meets the dynamic refresh timeout condition; If yes, receiving the audio data packet from the audio source device based on the dynamic refresh timeout value includes: In each equal time interval, determining whether the communication link with the audio source device satisfies a dynamic refresh timeout condition; If yes, then receiving the audio data packet from the audio source device based on the dynamic refresh timeout value.
7. The method according to any one of claims 1 to 6, characterized in that The dynamic refresh timeout condition is: The effective bandwidth of the communication link is lower than a preset threshold.
8. The method according to claim 7, characterized in that The effective bandwidth of the communication link being lower than a preset threshold comprises at least one of the following: The packet loss probability is greater than the preset packet loss threshold; The signal to interference plus noise ratio SINR is less than a preset SINR threshold; The signal strength is less than the preset signal strength threshold.
9. A wireless audio transmission method, characterized in that: The method comprises: When the reception of the audio data packet meets the preset active packet loss condition, determining whether the number of receptions of the current audio data packet received from the audio source device reaches the maximum number of receptions corresponding to the second refresh timeout value, and if so, returning correct reception confirmation information to the audio source device if the current audio data packet is not successfully received, otherwise continuing to receive the current data packet; When the reception of the audio data packet does not meet the preset active packet loss condition, determine whether the number of receptions of the current audio data packet from the audio source device reaches the maximum number of receptions corresponding to the first refresh timeout value, and if so, start receiving the next audio data packet, otherwise continue to receive the current data packet; Among them, the maximum number of receptions corresponding to the first refresh timeout value is greater than the maximum number of receptions corresponding to the second refresh timeout value.
10. The method according to claim 9, characterized in that The preset active packet loss condition is: The reception condition of the audio data packet is at least one of the following: the current audio data packet is a non-critical audio data packet, or, before the current audio data packet, a preset number of audio data packets have been continuously received, wherein the non-critical audio data packet includes at least one of the following: an audio data packet whose audio amplitude value is less than a preset amplitude value, an audio data packet whose audio signal's time domain correlation is greater than a preset time domain value, an audio data packet whose actual occupied bandwidth is less than a preset bandwidth value, and the audio data packet is a non-voice data packet.
11. A wireless audio transmission device, characterized in that: The device comprises: A determination module, used to determine whether the communication link with the audio source device meets the dynamic refresh timeout condition; The execution module is used for receiving the audio data packet from the audio source device based on the dynamic refresh timeout value when the judgment result of the judgment module is yes.
12. An electronic device, characterized in that: include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of the wireless audio transmission method as described in any one of claims 1 to 8 are implemented; or, when the program is executed by the processor, the steps of the wireless audio transmission method as described in any one of claims 9 to 10 are implemented.
13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, the computer program implements the steps of the wireless audio transmission method as described in any one of claims 1-8; or, when the program is executed by the processor, the computer program implements the steps of the wireless audio transmission method as described in any one of claims 9-10.
14. A computer program product, characterized in that The method comprises computer instructions, which, when executed by a processor, implement the steps of the wireless audio transmission method as described in any one of claims 1 to 8; or, the program, when executed by the processor, implements the steps of the wireless audio transmission method as described in any one of claims 9 to 10.
Citation Information
Patent Citations
Radio frequency condition aware audio buffering
CN113196695A
Method for operating a bluetooth device
CN114026894A
Audio and video synchronization method, storage medium and electronic equipment
CN114095771A
Systems and methods for wirelessly providing an audio stream
US20240143272A1
