A wireless audio transmission method, apparatus, device, medium and program product
By dynamically adjusting the refresh timeout value and actively discarding non-critical audio data packets in the BLE Audio system, the problem of continuous packet loss when the wireless channel quality is poor is solved, thereby improving the reliability and quality of audio transmission.
Patent Information
- Application Number
- CN202411195317.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-27
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2044-08-27
AI Technical Summary
In BLE Audio systems with poor wireless channel quality, PLC technology struggles to eliminate the impact of continuous packet loss on audio performance.
By determining whether the communication link meets the dynamic refresh timeout condition, the refresh timeout value is dynamically adjusted to receive audio data packets, and non-critical audio data packets are actively discarded when the preset active packet loss condition is met, thus avoiding continuous packet loss.
It effectively reduces the probability of continuous packet loss in wireless audio transmission, improves audio quality and system flexibility, and adapts to different communication conditions.
Smart Images

Figure CN119232332B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of wireless communication, and in particular, to a wireless audio transmission method, device, apparatus, medium and program product. BACKGROUND
[0002] Wireless audio technology brings people the freedom of free call and music sharing, and is widely loved by people. Especially BLE (Bluetooth Low Energy) audio technology, which adopts Isochronous Channels protocol, including Connected Isochronous Stream (CIS) link for single-point to single-point communication, Connected Isochronous Group (CIG) protocol composed of at least one CIS link, and Broadcast Isochronous Stream (BIS) link for single-point to multi-point communication, and Broadcast Isochronous Group (BIG) protocol composed of at least one BIS link, brings people lower power consumption, lower cost, higher quality, lower delay and more rich wireless audio services. For example, TWS (True Wireless Stereo) earphones realized by CIG link composed of two CIS links.
[0003] However, when transmitting audio data by CIS link, each audio data packet is retransmitted for a limited number of times. In order to solve the packet loss problem caused by limited retransmission, the BLE Audio system usually adopts PLC (Packet Loss Concealment) technology to eliminate the influence of audio data loss on audio performance. In order to ensure better audio quality, the BLE Audio system sets a larger maximum retransmission number to reduce the total packet loss probability.
[0004] However, when the wireless channel quality is poor, for example, in fading or interference environment, the larger maximum retransmission number will cause a higher probability of continuous packet loss when the effective bandwidth is insufficient. The PLC technology is difficult to eliminate the influence of continuous packet loss on audio performance. In addition, the PLC technology is also difficult to eliminate the influence of key audio data loss on audio performance. SUMMARY
[0005] Embodiments of the present application provide a wireless audio transmission method, device, apparatus, medium and program product to solve the technical problem that in related technologies, when the wireless channel quality is poor, the PLC technology is difficult to eliminate the influence of continuous packet loss on audio performance.
[0006] In a first aspect, embodiments of the present application provide a wireless audio transmission method, the method comprising:
[0007] determining whether a communication link with an audio source device satisfies a dynamic refresh timeout condition;
[0008] if yes, receiving audio data packets from the audio source device based on a dynamic refresh timeout value.
[0009] Optionally, after determining whether the communication link with the audio source device satisfies the dynamic refresh timeout condition, the method further comprises:
[0010] if no, receiving audio data packets from the audio source device based on a first fixed refresh timeout value.
[0011] Optionally, receiving audio data packets from the audio source device based on a dynamic refresh timeout value comprises:
[0012] determining whether a reception of the audio data packets satisfies a preset active packet loss condition;
[0013] if no, receiving audio data packets from the audio source device based on a first refresh timeout value, and if yes, receiving audio data packets from the audio source device based on a second refresh timeout value, wherein the second refresh timeout value is less than the first refresh timeout value.
[0014] Optionally, receiving audio data packets from the audio source device based on a second refresh timeout value comprises:
[0015] determining whether a number of times of receiving a current audio data packet from the audio source device reaches a maximum number of times of receiving corresponding to the second refresh timeout value, and if yes, returning a correct reception acknowledgement information to the audio source device in a case that the current audio data packet is not successfully received.
[0016] wherein the maximum number of times of receiving corresponding to the first refresh timeout value is greater than the maximum number of times of receiving corresponding to the second refresh timeout value.
[0017] Optionally, the preset active packet loss condition is:
[0018] The receiving 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 with an audio amplitude value less than a preset amplitude value, an audio data packet with a time domain correlation of an audio signal of the audio data packet greater than a preset time domain value, an audio data packet with an actual occupied bandwidth of the audio data packet less than a preset bandwidth value, and the audio data packet is a non-speech data packet.
[0019] Optionally, it is judged whether the communication link with the audio source device satisfies a dynamic refresh timeout condition, and if yes, the audio data packet from the audio source device is received based on a dynamic refresh timeout value, which includes:
[0020] In each equal time interval, it is judged whether the communication link with the audio source device satisfies a dynamic refresh timeout condition, and if yes, the audio data packet from the audio source device is received based on a 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 a preset packet loss threshold;
[0025] The SINR (Signal to Interference plus Noise Ratio) is less than a preset SINR threshold;
[0026] The signal strength is less than a preset signal strength threshold.
[0027] In a second aspect, an embodiment of the present application provides a wireless audio transmission method, which includes:
[0028] When the receiving condition of the audio data packet satisfies a preset active packet loss condition, it is judged whether the receiving frequency of a current audio data packet from the audio source device reaches a maximum receiving frequency corresponding to a second refresh timeout value, if yes, correct receiving confirmation information is still returned to the audio source device in the case that the current audio data packet is not successfully received, otherwise, the current data packet is continuously received;
[0029] when the reception condition of the audio data packet does not satisfy the preset active packet loss condition, determining whether a reception number of the current audio data packet from the sound source device reaches a maximum reception number corresponding to a first refresh timeout value, if yes, starting to receive a next audio data packet, otherwise, continuing to receive the current data packet;
[0030] wherein the maximum reception number corresponding to the first refresh timeout value is greater than the maximum reception number corresponding to the second refresh timeout value.
[0031] Optionally, the preset active packet loss condition is that:
[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 with an audio amplitude value less than a preset amplitude value, an audio data packet with a time domain correlation of an audio signal of the audio data packet greater than a preset time domain value, an audio data packet with an actual occupied bandwidth of the audio data packet less than a preset bandwidth value, and the audio data packet is a non-speech data packet.
[0033] In a third aspect, an embodiment of the present application provides a wireless audio transmission device, the device comprising:
[0034] a judging module configured to judge whether a communication link with a sound source device satisfies a dynamic refresh timeout condition;
[0035] an executing module configured to, when the judging module judges that the communication link satisfies the dynamic refresh timeout condition, receive an audio data packet from the sound source device based on a dynamic refresh timeout value.
[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, when the program is executed by the processor, the steps of a wireless audio transmission method according to 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, the computer readable storage medium stores a computer program, when the computer program is executed by a processor, the steps of a wireless audio transmission method according to 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, when the computer instructions are executed by a processor, the steps of a wireless audio transmission method according to the first aspect or the second aspect are implemented.
[0039] In the method shown in the embodiments of the present application, firstly, it is judged whether the communication link with the sound source device satisfies the dynamic refresh timeout condition; if yes, the audio data packet from the sound source device is received based on the dynamic refresh timeout value. In this way, the refresh timeout value can be dynamically adjusted according to the dynamic refresh timeout condition (such as the actual communication link condition), so as to avoid the problem that the transmission condition of the data packet does not match the actual condition of the link under the condition of using the fixed refresh timeout value in different communication link conditions, and thus a higher probability of continuous packet loss is caused, the influence of the audio data loss on the audio performance can be eliminated as much as possible, and the performance of the wireless audio is improved. BRIEF DESCRIPTION OF DRAWINGS
[0040] Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The detailed description is made with reference to the accompanying drawings.
[0041] Figure 1 A structural block diagram of a wireless audio transmission system based on a DFT-CIG link provided by the embodiments of the present application;
[0042] Figure 2 A flowchart of a wireless audio transmission method provided by the embodiments of the present application;
[0043] Figure 3 A flowchart of a wireless audio transmission method provided by the embodiments of the present application;
[0044] Figure 4 A flowchart of a wireless audio transmission method provided by the embodiments of the present application;
[0045] Figure 5A A transceiving time slot structure diagram of a CIG link using a first refresh timeout value for audio transmission provided by the embodiments of the present application;
[0046] Figure 5B A transceiving time slot structure diagram of a DFT-CIG link using a dynamic refresh timeout value for audio transmission provided by the embodiments of the present application;
[0047] Figure 6 A structural block diagram of a wireless audio transmission device provided by the embodiments of the present application;
[0048] Figure 7 A structural block diagram of an electronic device provided by the embodiments of the present application. DETAILED DESCRIPTION
[0049] With reference to the drawings and embodiments of the present application, the technical solutions in the embodiments of the present application will be described clearly and completely. Obviously, the described embodiments are only some of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of the present application.
[0050] In the embodiments 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 supporting data packet transmission based on flush timeout, which is not limited in the embodiments of the present application.
[0051] An exemplary, Figure 1 A structural block diagram of a DFT-CIG wireless audio system is shown, which is composed of a DFT-CIG sound source device, also 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 television, etc. The DFT-CIG peripheral device can be a wireless earphone or a wireless sound box. The DFT-CIG sound source device and the DFT-CIG peripheral device adopt a DFT (Dynamic Flush Timeout)-based CIG link, that is, a DFT-CIG link to transmit audio data. It should be noted that the DFT-based CIG link is called a DFT-CIG link, and the DFT-based CIS link is called a DFT-CIS link.
[0052] Figure 2 A wireless audio transmission method is shown according to an embodiment of the present application, which includes Figure 2 As shown, the method includes:
[0053] Step S201, determining whether the communication link with the sound source device meets the dynamic flush timeout condition.
[0054] Step S202, if the dynamic flush timeout condition is met, receiving the audio data packet from the sound source device based on the dynamic flush timeout value.
[0055] It should be noted that, Figure 2 The method shown can be applied toFigure 1 The wireless audio system is shown, and Figure 2 The execution subject of the method is a peripheral device, such as Figure 1 The DFT-CIG peripheral device in the figure.
[0056] The dynamic refresh timeout condition is that the effective bandwidth of the communication link is lower than a preset threshold. The effective bandwidth of the communication link can be determined to be lower than the preset threshold by 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. If at least one of the above conditions 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 precondition of the scheme is that a communication link (such as a DFT-CIG link) has been established between the sound source device and the peripheral device, and the peripheral device receives 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 satisfies the dynamic refresh timeout condition, that is, to determine the wireless channel quality. The wireless channel quality can be determined by measuring the packet loss probability in real time. If the packet loss probability is greater than a preset packet loss threshold, more resources are needed for retransmission, resulting in insufficient effective bandwidth. The signal strength or SINR can also be used to determine the wireless channel quality. 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 preset packet loss threshold, more resources are needed for retransmission, resulting in insufficient effective bandwidth.
[0058] In step S202, if the dynamic refresh timeout condition is met, the audio data packets from the sound source device are received based on the dynamic refresh timeout value.
[0059] It should be noted that the peripheral device and the sound source device can pre-coordinate the first refresh timeout value, which represents the maximum time that an audio data packet in the buffer can be retained before being discarded. The audio data packet will attempt a preset number of retransmissions within this time, and if it is not successfully sent, the audio data packet will be discarded. In the case of poor channel conditions and insufficient effective bandwidth, actively discarding some data packets by dynamically controlling the refresh timeout value can reduce the probability of continuous packet loss, thereby reducing the impact on audio transmission quality, especially avoiding the loss of critical audio data packets. As a result, the system can more flexibly cope with different communication conditions, especially in unstable wireless channel quality environments. For example, when the communication conditions deteriorate and the effective bandwidth decreases, 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 judging whether the communication link with the sound source device meets the dynamic refresh timeout condition, the method further includes: if the dynamic refresh timeout condition is not met, receiving the audio data packet from the sound source device based on the fixed first refresh timeout value. That is, if the communication condition is normal, the audio data packet from the sound source device is still normally received based on the preset first refresh timeout value.
[0061] In a possible implementation, the step S202 of receiving the audio data packet from the sound source device based on the dynamic refresh timeout value includes: judging whether the reception condition of the audio data packet meets a preset active packet loss condition; if not, the audio data packet from the sound source device is received based on the first refresh timeout value, and if yes, the audio data packet from the sound source device is received based on a second refresh timeout value, where the second refresh timeout value is less than the first refresh timeout value.
[0062] And the receiving of the audio data packet from the sound source device based on the second refresh timeout value includes: judging whether the number of times of receiving the current audio data packet from the sound source device reaches a maximum number of times of receiving corresponding to the second refresh timeout value, and if yes, returning correct reception confirmation information to the sound source device in the case that the current audio data packet is not successfully received; where the maximum number of times of receiving corresponding to the first refresh timeout value is greater than the maximum number of times of receiving corresponding to the second refresh timeout value. It should be noted that the return of the correct reception confirmation information to the sound source device actually "cheats" the sound source device that the current audio data packet has been received in the case that the current audio data packet is not successfully received, so as to avoid the sound source device from continuing to send the current audio data packet, and thus the sound source device can continue to send the next audio data packet. This case is equivalent to actively discarding the current audio data packet.
[0063] It should be noted that the preset active packet loss condition is that the reception condition of the audio data packet is at least one of the following: the current audio data packet is a non-key audio data packet, or, before the current audio data packet, a preset number of audio data packets have been continuously received, where the non-key audio data packet includes at least one of the following: an audio data packet with an audio amplitude value less than a preset amplitude value, an audio data packet with a time domain correlation of an audio signal of the audio data packet greater than a preset time domain value, an audio data packet with an actual occupied bandwidth of the audio data packet less than a preset bandwidth value, and an audio data packet that is a non-speech data packet.
[0064] Where the audio data packet can contain environmental sound, noise or other types of audio, rather than human speech, and in general, a default speech data packet is more critical, so the audio data packet can be a non-speech data packet.
[0065] That is, if the current audio data packet to be received is not critical, the audio data packet is discarded, and thus the critical audio data packet is retained, so that the audio transmission quality is not greatly affected; if a preset number of audio data packets are continuously received, in order to alleviate the transmission pressure caused by the low communication bandwidth, an audio data packet can be actively discarded, and at this time, the audio transmission quality is not greatly affected, the audio data packet is selectively discarded, and the discarding opportunity is actively selected, so that the subsequent continuous packet loss situation can be avoided.
[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, so that when the preset active packet loss condition is not met, the maximum retransmission number (or the maximum receiving number, different refresh timeout values correspond to different maximum receiving numbers) can be large enough to ensure the reliability of wireless audio transmission, and when the preset active packet loss condition is met, the active packet loss can be achieved by controlling the refresh timeout value, so that the higher probability of continuous packet loss is avoided, and the performance of wireless audio is improved.
[0067] In a possible implementation, the method further includes: determining whether the communication link between the sound source device and the wireless audio receiver satisfies a dynamic refresh timeout condition; and if so, receiving the audio data packet from the sound source device based on a dynamic refresh timeout value.
[0068] That is, it is determined whether the communication link between the sound source device and the wireless audio receiver satisfies a dynamic refresh timeout condition; and if so, the audio data packet from the sound source device is received based on a dynamic refresh timeout value. The step of determining whether the communication link between the sound source device and the wireless audio receiver satisfies a dynamic refresh timeout condition; and if so, the audio data packet from the sound source device is received based on a dynamic refresh timeout value is performed in each equal time interval, so that the communication environment can be continuously monitored to maximize the audio transmission quality and improve the user experience.
[0069] In a possible implementation, after the audio data packet from the sound source device is received based on the dynamic refresh timeout value, the method further includes: determining whether the communication link is disconnected; if the communication link is not disconnected, in the next equal time interval, the step of determining whether the communication link between the sound source device and the wireless audio receiver satisfies a dynamic refresh timeout condition; and if so, the audio data packet from the sound source device is received based on a dynamic refresh timeout value.
[0070] That is, the state of the communication link can be continuously monitored, and after the end of each isochronous interval transmission, the peripheral device needs to check the communication link state between the peripheral device and the sound source device to confirm whether the communication link is still stable and effective, so as to ensure continuous reception and playing of the audio data. If the communication link is stable, the peripheral device will continue to receive the audio data packet in the next isochronous interval; if the communication link is disconnected, the peripheral device will terminate the receiving process to ensure continuous and stable transmission of data, thereby maintaining the audio playing quality and continuity of the wireless audio device.
[0071] Taking the communication link as the DFT-CIG link, Figure 3 a specific receiving process of the audio data packet based on the DFT-CIG link is shown, that is, an adaptive wireless audio transmission method, 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 prepares to receive the audio data packet in each isochronous interval, it is judged whether the poor wireless channel quality leads to insufficient effective bandwidth. If the effective bandwidth is sufficient, the audio data packet is received according to the normal FT (Flush Timeout, flush timeout) value (equivalent to the first flush timeout value described above); if the effective bandwidth is insufficient, the audio data packet is received by using a dynamic FT control method. When the audio data packet is received by using the dynamic FT control method, if the active packet loss condition is met, when the number of failed audio data packet receptions (retransmission times) in the current isochronous interval does not reach the maximum number of receptions corresponding to the FT value, the DFT-CIG peripheral device can actively reply to the correct reception confirmation information (actually not received) to make the DFT-CIG sound source device flush 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 the end of each isochronous interval reception, if the DFT-CIG link is not disconnected, the next isochronous interval reception is prepared; if the DFT-CIG link is disconnected, the receiving process is ended.
[0072] Now the main features of the DFT-CIG link are described to clarify the adaptive wireless audio transmission method shown in the embodiments of the present application. Compared with the CIG link, the main features of the DFT-CIG link are as follows:
[0073] 1. When the wireless channel quality is good, the DFT-CIG peripheral device negotiates a larger flush timeout value with the DFT-CIG sound source device to ensure the reliability of wireless audio transmission with a large enough maximum retransmission number.
[0074] 2. When the wireless channel quality is poor (for example, in a fading or interference environment, insufficient effective bandwidth), the DFT-CIG peripheral device actively drops packets according to the receiving characteristics or audio characteristics using a smaller refresh timeout. That is, before the number of retransmissions reaches the maximum number of retransmissions corresponding to the smaller refresh timeout, even if the reception is not correct, the DFT-CIG peripheral device actively returns the correct reception confirmation information, 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 actively dropping packets is to facilitate 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.
[0075] 3. In the above second item, the actively dropping packets according to the receiving characteristics means that, when a certain number of audio data packets are continuously correctly received, the DFT-CIG peripheral device actively returns the correct reception confirmation information before the number of retransmissions of the currently received audio data packet reaches the maximum number of retransmissions corresponding to the FT value, even if the reception is not correct, so that the DFT-CIG audio source device can refresh the sent audio data packet or send the next new audio data packet in advance. However, if the previous one or more audio data packets have been actively dropped, passively dropped, or failed to be received (that is, in the case of packet loss), the DFT-CIG peripheral device always returns the incorrect reception confirmation information until the number of retransmissions reaches the maximum number of retransmissions corresponding to the FT value. The purpose of actively dropping packets according to the receiving characteristics is to reduce the probability of continuous packet loss, facilitate the use of packet loss concealment technology to eliminate the impact of audio data loss on audio performance, and thereby improve the performance of wireless audio. The receiving characteristics refer to the absence of 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, thereby reducing the probability of continuous packet loss while keeping the total packet loss probability constant.
[0076] 4、In the above item 2, the active packet loss according to audio characteristics means that, for the current non-critical audio data packet, such as the audio data packet with small amplitude, the audio data packet with small time-domain correlation when the actual audio bandwidth is small (specifically, the audio characteristics of the audio data packet being received can be predicted according to the audio characteristics of the audio data packet that has been correctly received, that is, by default, the audio data packet does not change abruptly), the corresponding critical audio data packet is the audio data packet with large actual audio bandwidth or small time-domain correlation), before the number of retransmissions reaches the maximum number of retransmissions corresponding to the FT value, even if it is not correctly received, the correct reception confirmation information is actively returned, so as to facilitate the DFT-CIG audio source device to refresh the sent audio data packet or send the next new audio data packet in advance. For the critical audio data packet, such as the audio data packet with large actual audio bandwidth or small time-domain correlation, the non-correct reception confirmation information is returned until the number of retransmissions reaches the maximum number of retransmissions corresponding to the FT value. The purpose of the active packet loss according to the audio characteristics is to increase the packet loss probability of the non-critical audio data packet to reduce the packet loss probability of the critical audio data packet, which is more conducive to using the packet loss concealment technology to eliminate the influence of audio data loss on the audio performance, thereby improving the performance of the wireless audio.
[0077] It should be noted that the characteristics of the audio data packet that has been successfully received, such as frequency distribution, amplitude, bandwidth, and time-domain mode, can be analyzed to predict the possible characteristics of the audio data packet being received next. This prediction can be based on a machine learning algorithm or a simple statistical model, and can be estimated according to historical data and current receiving trends. For example, if a plurality of consecutive data packets show similar frequency and amplitude characteristics, the system can predict that the next data packet will also continue to show such characteristics (usually, the audio data packet does not change abruptly), thereby judging whether it is a non-critical or critical data packet. The purpose of this strategy is to optimize the transmission efficiency and quality of the audio data by distinguishing between data packets of different importance, and actively abandoning non-critical data packets can free up more resources and bandwidth for the successful transmission of critical data packets.
[0078] 5、The wireless channel quality 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 needed for retransmission, thereby causing insufficient effective bandwidth. The wireless channel quality can also be determined by the 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 needed for retransmission, thereby causing insufficient effective bandwidth.
[0079] Figure 4 A wireless audio transmission method is provided according to an embodiment of the present application, as shown in Figure 4 The method comprises the following steps:
[0080] Step S401, when the reception condition of the audio data packet meets the preset active packet loss condition, judging whether the receiving times of the current audio data packet from the sound source device reaches the maximum receiving times corresponding to the second refresh timeout value; if yes, executing step S402; if no, executing step S403;
[0081] Step S402, in the case that the current audio data packet is not successfully received, still returning the correct receiving confirmation information to the sound source device;
[0082] Step S403, continuing to receive the current data packet;
[0083] Step S404, when the reception condition of the audio data packet does not meet the preset active packet loss condition, judging whether the receiving times of the current audio data packet from the sound source device reaches the maximum receiving times corresponding to the first refresh timeout value; if yes, executing step S405; if no, executing step S406;
[0084] Step S405, starting to receive the next audio data packet;
[0085] Step S406, continuing to receive the current data packet;
[0086] The maximum receiving times corresponding to the first refresh timeout value is greater than the maximum receiving times corresponding to the second refresh timeout value.
[0087] In a possible implementation, the preset active packet loss condition is that the reception condition of the audio data packet is at least one of the following: the current audio data packet is a non-key audio data packet, or, before the current audio data packet, a preset number of audio data packets have been continuously received, wherein the non-key audio data packet includes at least one of the following: an audio data packet with an audio amplitude value less than a preset amplitude value, an audio data packet with a time domain correlation of an audio signal of the audio data packet greater than a preset time domain value, an audio data packet with an actual occupied bandwidth of the audio data packet less than a preset bandwidth value, and an audio data packet being a non-speech data packet.
[0088] Now taking the transceiving time slot structure of the DFT-CIG link shown in Figure 5A as a specific application scenario, the wireless audio transmission method shown in Figure 5B is described. Figure 4 For the time slot structure using normal FT, Figure 5A for the time slot structure using dynamic control FT. Figure 5B for the time slot structure using dynamic control FT. Figure 5A for the time slot structure using dynamic control FT. Figure 5BIn the process, the DFT-CIG link includes a DFT-CIS (Dynamic Refresh Timeout-Connection Isochronous Stream) link, with an isochronous interval (ISO Interval) of 10ms, a number of subevents (NSE) of 2 per isochronous interval, a burst number (BN) of 1, and a FT of 3.
[0089] like Figure 5A and Figure 5B As shown, each timeline contains two timelines: timeline C represents the timeline for the DFT-CIG audio source device to send audio data packets, and timeline P represents the timeline for the DFT-CIG peripheral device to send acknowledgment packets. The two timelines overlap. The boxes on timeline C represent DFT-CIG audio data packets sent by the DFT-CIG audio source device, and the boxes on timeline P represent acknowledgment packets carrying confirmation information sent by the DFT-CIG peripheral device, including acknowledgment packets for correct reception (ACK) and acknowledgment packets for incorrect reception (NAK). Dashed boxes on timeline P represent incorrect reception, and solid boxes represent correct reception. A dashed ACK indicates a acknowledgment packet sent after a incorrect reception, while a solid ACK indicates both correct reception and a acknowledgment packet sent.
[0090] like Figure 5A As shown, since FT=3, the FT point of audio data packet P11 (sequence number 11) is within event 13 (sequence number 13), the FT point of audio data packet P12 (sequence number 12) is within event 14 (sequence number 14), and the FT point of audio data packet P13 (sequence number 13) is within event 15 (sequence number 15). Audio data packet P11 (sequence number 11) was sent starting from event 11 (sequence number 11) and was sent a total of 5 times. The DFT-CIG peripheral device failed to receive it in the first 4 times and replied with NAK. In the 5th transmission within event 13 (sequence number 13), the DFT-CIG peripheral device received it correctly and replied with ACK. P12 was sent 3 times and reached the FT point, but the DFT-CIG peripheral device failed to receive it in all 3 times and replied with NAK. P13 was sent twice and reached the FT point, but both DFT-CIG peripheral devices 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 devices, which responded with ACK. It can be seen that P12 and P13 were two consecutive audio data packets lost.
[0091] In order to solve such Figure 5A The problem of two consecutive audio data packets being lost, as shown in the embodiments of this application, is addressed by adopting the following approach: Figure 5B The method for dynamically controlling the FT is shown. For example...Figure 5B As shown in FIG. 12, it is assumed that the DFT-CIG audio source device sends a plurality of (for example, at least 4) audio data packets (i.e., at least P7, P8, P9, and P10) before sending the audio data packet P11, and the DFT-CIG peripheral device correctly receives and returns ACK. When the DFT-CIG audio source device sends P11 for the third time, although the DFT-CIG peripheral device does not correctly receive P11, ACK is returned. P12 is correctly received by the DFT-CIG peripheral device when sent for the second time and ACK is returned. However, P13 is not correctly received by the DFT-CIG peripheral device even when the maximum FT point is reached. As can be seen, after the DFT-CIG peripheral device actively discards P11 using the method of dynamically controlling FT, P12 is correctly received, thereby avoiding the problem of consecutive loss of two audio data packets P12 and P13.
[0092] In addition, it is assumed that P11 is a non-critical audio data packet and P12 is a critical audio data packet. As shown in FIG. 13, P12 can be correctly received by actively discarding P11. Figure 5B
[0093] It should be noted that when the DFT-CIG audio source device sends P11 for the third time, discarding P11 is only an example. If the communication bandwidth is insufficient and the active packet loss condition is met, as long as the retransmission number of the audio data packet reaches the initial FT value before the retransmission number reaches the initial FT value, the packet can be actively discarded (equivalent to actively discarding the packet using a smaller refresh timeout), and it is not necessarily limited to discarding the packet for the first time. Compared with actively discarding P11, consecutive loss of two audio data packets P12 and P13, and not correctly receiving P13, will cause obvious audio interruption and increase the difficulty of error correction, which may not be able to recover the lost content and affect the user experience.
[0094] It should be noted that in specific implementation, the following method can be used: if the preset active packet loss condition is met, the initial refresh timeout is reduced, and it is determined whether the receiving number of the current audio data packet to be received reaches the maximum receiving number corresponding to the reduced refresh timeout; in the case where the receiving number reaches the maximum receiving number corresponding to the reduced refresh timeout and the current audio data packet to be received is not received, correct receiving confirmation information 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. That is, it is assumed that the maximum receiving number corresponding to the initial refresh timeout is 5 times and the maximum receiving number corresponding to the reduced refresh timeout is 3 times, the audio data packet can be actively discarded when the retransmission number reaches 3 times, or the reduced refresh timeout can be set to 1 time, and the audio data packet is actively discarded when the retransmission number reaches 1 time. The actual situation can be flexibly set.
[0095] In summary, if the preset active packet loss condition is met, the audio data packets from the audio source device are 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 packets from the audio source device are received based on a relatively large first refresh timeout value, so that when the preset active packet loss condition is not met, the reliability of wireless audio transmission can be ensured 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 higher probability of continuous packet loss and improving the performance of wireless audio.
[0096] An embodiment of the present application provides a wireless audio transmission device, as shown in the accompanying drawings, the device 60 comprises: Figure 6
[0097] The judgment module 601 is configured to judge whether the communication link with the audio source device meets a dynamic refresh timeout condition.
[0098] The execution module 602 is configured to, when the judgment result of the judgment module is yes, receive the audio data packets from the audio source device based on the dynamic refresh timeout value.
[0099] In a possible implementation, the execution module 602 is further configured to, after judging whether the communication link with the audio source device meets the dynamic refresh timeout condition, if the dynamic refresh timeout condition is not met, receive the audio data packets from the audio source device based on a fixed first refresh timeout value.
[0100] In a possible implementation, the execution module 602 is further configured to judge whether the reception of the audio data packets meets a preset active packet loss condition; if not, the audio data packets from the audio source device are received based on the first refresh timeout value, and if yes, the audio data packets from the audio source device are received based on a second refresh timeout value, wherein the second refresh timeout value is smaller than the first refresh timeout value.
[0101] In a possible implementation, the execution module 602 is further configured to judge whether the number of receptions of the current audio data packet from the audio source device reaches a maximum number of receptions corresponding to the second refresh timeout value, and if yes, still returns correct reception confirmation information to the audio source device in the case that the current audio data packet is not successfully received.
[0102] In a possible implementation, 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 that:
[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 with an audio amplitude value less than a preset amplitude value, an audio data packet with a time domain correlation of an audio signal of the audio data packet greater than a preset time domain value, an audio data packet with an actual occupied bandwidth of the audio data packet less than a preset bandwidth value, and an audio data packet being a non-speech data packet.
[0105] In a possible implementation, the determining module 601 is further configured to determine, in each time interval, whether the communication link with the sound source device satisfies a dynamic refresh timeout condition; and 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 that:
[0107] The effective bandwidth of the communication link is lower than a preset threshold.
[0108] In a possible implementation, the effective bandwidth of the communication link being lower than the preset threshold includes at least one of the following: a packet loss probability being greater than a preset packet loss threshold; a SINR being less than a preset SINR threshold; and a signal strength being less than a preset signal strength threshold.
[0109] In this way, the refresh timeout value can be dynamically adjusted according to the dynamic refresh timeout condition (for example, the actual communication link condition), so as to avoid the problem that a fixed refresh timeout value is used in different communication link conditions, the transmission condition of the data packet does not match the link condition, and a higher probability of continuous packet loss is caused, and the influence of audio data loss on audio performance can be minimized, and the performance of wireless audio can be improved.
[0110] The embodiments of the present application further provide an electronic device 70, as shown in the accompanying drawings, comprising a processor 701, a memory 702, and a program stored in the memory 702 and executable on the processor 701, wherein the program is executed by the processor 701 to implement the steps of the wireless audio transmission method shown in the above embodiments. Figure 7
[0111] The embodiments of the present application further provide a computer readable storage medium, wherein a computer program is stored in the computer readable storage medium, and the computer program is executed by a processor to implement the steps of the wireless audio transmission method shown in the above embodiments and achieve the same technical effects. To avoid repetition, details are not described herein. The computer readable storage medium includes a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and the like.
[0112] The embodiment of the present application also provides a computer program product, comprising computer instructions, which, when executed by a processor, implement the steps of the wireless audio transmission method shown in the above method embodiment and can achieve the same technical effects. To avoid repetition, details are not described herein.
[0113] It should be noted that, in this document, the term "comprising" or "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that processes, methods, articles or devices including a series of elements not only include those elements, but also include other elements not explicitly listed, or further include elements inherent to such processes, methods, articles or devices. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of other identical elements in the process, method, article or device including the element.
[0114] From the above description of the embodiments, those skilled in the art can clearly understand that the above method embodiments can be realized by means of software and a general hardware platform, and of course can also be realized by hardware, but in many cases the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as a ROM / RAM, a magnetic disk, or an optical disk) and includes a number of instructions for causing a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a communication device) to execute the methods described in the various embodiments of the present application.
[0115] The embodiments of the present application are described above in combination with the accompanying drawings, but the present application is not limited to the above specific embodiments, and the above specific embodiments are merely illustrative rather than limiting, and those of ordinary skill in the art can make many forms under the inspiration of the present application without departing from the scope of the present application and the scope of protection of the claims.
Claims
1. A wireless audio transmission method, characterized by, The method comprises: determining whether a communication link with a sound source device satisfies a dynamic refresh timeout condition; if yes, receiving an audio data packet from the sound source device based on a dynamic refresh timeout value; wherein receiving the audio data packet from the sound source device based on the dynamic refresh timeout value comprises: determining whether a reception condition of the audio data packet satisfies a preset active packet loss condition; if no, receiving the audio data packet from the sound source device based on a first refresh timeout value, and 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; the receiving the audio data packet from the sound source device based on the second refresh timeout value comprises: determining whether a reception frequency of a current audio data packet from the sound source device reaches a maximum reception frequency corresponding to the second refresh timeout value, and if yes, returning correct reception confirmation information to the sound source device in a case where the current audio data packet is not successfully received; wherein the maximum reception frequency corresponding to the first refresh timeout value is greater than the maximum reception frequency corresponding to the second refresh timeout value.
2. The method of claim 1, wherein, After determining whether the communication link with the sound source device satisfies the dynamic refresh timeout condition, the method further comprises: if the dynamic refresh timeout condition is not satisfied, receiving the audio data packet from the sound source device based on a fixed first refresh timeout value.
3. The method of claim 1, wherein, 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 a preset number of audio data packets have been continuously received before the current audio data packet, wherein the non-critical audio data packet comprises at least one of the following: an audio data packet with an audio amplitude value less than a preset amplitude value, an audio data packet with a time domain correlation of an audio signal of the audio data packet greater than a preset time domain value, an audio data packet with an actual occupied bandwidth of the audio data packet less than a preset bandwidth value, and the audio data packet being a non-speech data packet.
4. The method of claim 1, wherein, determining whether a communication link with a sound source device satisfies a dynamic refresh timeout condition; if yes, receiving an audio data packet from the sound source device based on a dynamic refresh timeout value comprises: in each equal time interval, determining whether a communication link with a sound source device satisfies a dynamic refresh timeout condition; if yes, receiving an audio data packet from the sound source device based on a dynamic refresh timeout value.
5. The method according to any one of claims 1 to 4, characterized in that, The dynamic refresh timeout condition is: an effective bandwidth of the communication link is lower than a preset threshold.
6. The method of claim 5, wherein, the effective bandwidth of the communication link being lower than the preset threshold comprises at least one of the following: a packet loss probability is greater than a preset packet loss threshold; a signal to interference plus noise ratio (SINR) is less than a preset SINR threshold; a signal strength is less than a preset signal strength threshold.
7. A wireless audio transmission method, characterized by, The method comprises: when the reception condition of the audio data packet meets the preset active packet loss condition, judging whether the number of times of receiving the current audio data packet from the sound source device reaches the maximum number of times corresponding to the second refresh timeout value, and if so, still returning correct reception confirmation information to the sound source device in the case that the current audio data packet is not successfully received, otherwise, continuing to receive the current data packet; when the reception condition of the audio data packet does not meet the preset active packet loss condition, judging whether the number of times of receiving the current audio data packet from the sound source device reaches the maximum number of times corresponding to the first refresh timeout value, and if so, starting to receive the next audio data packet, otherwise, continuing to receive the current data packet; wherein the maximum number of times corresponding to the first refresh timeout value is greater than the maximum number of times corresponding to the second refresh timeout value.
8. The method of claim 7, wherein, 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 with an audio amplitude value less than a preset amplitude value, an audio data packet with a time domain correlation of an audio signal of the audio data packet greater than a preset time domain value, an audio data packet with an actual occupied bandwidth less than a preset bandwidth value, and the audio data packet is a non-speech data packet.
9. A wireless audio transmission device, characterized by The device comprises: a judging module for judging whether a communication link with a sound source device meets a dynamic refresh timeout condition; an executing module for receiving an audio data packet from the sound source device based on a dynamic refresh timeout value when the judging result of the judging module is yes; wherein receiving an audio data packet from the sound source device based on a dynamic refresh timeout value includes judging whether the reception condition of the audio data packet meets a preset active packet loss condition, if not, receiving an audio data packet from the sound source device based on a first refresh timeout value, and if so, receiving an 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; The receiving an audio data packet from the sound source device based on a second refresh timeout value includes judging whether the number of times of receiving the current audio data packet from the sound source device reaches the maximum number of times corresponding to the second refresh timeout value, and if so, still returning correct reception confirmation information to the sound source device in the case that the current audio data packet is not successfully received; wherein the maximum number of times corresponding to the first refresh timeout value is greater than the maximum number of times corresponding to the second refresh timeout value.
10. An electronic device, comprising: comprises: a processor, a memory, and a program stored on the memory and executable on the processor, which, when executed by the processor, implements the steps of the wireless audio transmission method according to any one of claims 1-6; or, when executed by the processor, implements the steps of the wireless audio transmission method according to any one of claims 7-8.
11. A computer readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the wireless audio transmission method according to any one of claims 1-6; or the program is executed by the processor to implement the steps of the wireless audio transmission method according to any one of claims 7-8.
12. A computer program product, characterised in that, The computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the wireless audio transmission method according to any one of claims 1-6; or the program is executed by the processor to implement the steps of the wireless audio transmission method according to any one of claims 7-8.
Citation Information
Patent Citations
Radio frequency condition aware audio buffering
CN113196695A
Systems and methods for wirelessly providing an audio stream
US20240143272A1