Audio transmission method, playing device, true wireless playing device and system
By detecting the synchronization code and adjusting the anchor time within the synchronization search time window, the problem of Bluetooth audio packet reception failure caused by clock deviation in true wireless playback devices is solved, thereby improving the reception success rate and battery life.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BESTECHNIC SHANGHAI CO LTD
- Filing Date
- 2026-01-20
- Publication Date
- 2026-04-14
AI Technical Summary
In true wireless playback devices, Bluetooth audio packet reception failures due to clock skew between the playback device and the audio source device and poor wireless channel quality affect audio playback quality and increase communication power consumption.
By performing synchronization code detection within a preset synchronization search time window and adjusting the anchor point time to compensate for clock deviation, the success rate of Bluetooth audio packet reception is ensured, the number of communications is reduced, and power consumption is lowered.
It improves the success rate of Bluetooth audio packet reception, ensures audio playback quality, and extends the battery life of true wireless playback devices.
Smart Images

Figure CN121865397A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication and interaction technology, specifically to an audio transmission method, a playback device, a true wireless playback device, and an audio transmission system. Background Technology
[0002] For applications involving audio playback via true wireless playback devices, the true wireless playback device can receive Bluetooth audio packets sent by the audio source device via Bluetooth downlink frames based on the Bluetooth connection between the two devices, and then play the audio.
[0003] However, if affected by factors such as airborne wireless interference or obstruction between the playback device and the audio source device in a true wireless playback device, the wireless channel between the playback device and the audio source device may be in a poor quality state for a long time (e.g., a few milliseconds, tens of milliseconds, hundreds of milliseconds, etc.), and the two cannot send and receive wireless frames normally. Due to the clock deviation between the playback device and the audio source device, even if the channel is restored to normal later, the playback device may still not be able to receive the wireless frames of the audio source device normally. Summary of the Invention
[0004] To overcome the problems existing in related technologies, an exemplary embodiment of this disclosure provides an audio transmission method applied to a first playback device in a true wireless playback device. The first playback device is connected to a second playback device in the true wireless playback device via a first Bluetooth connection. The first playback device and the second playback device receive Bluetooth audio packets sent by an audio source device via a Bluetooth link. The method includes: during the process of receiving Bluetooth audio packets sent by the audio source device, performing synchronization code detection within a preset synchronization search time window to obtain a detection result, wherein the synchronization search time window includes a predetermined first anchor time; when the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, adjusting the first anchor time based on the detection result; and determining a synchronization search time window corresponding to the adjusted first anchor time based on the adjusted first anchor time to perform synchronization code detection on the next received Bluetooth audio packet or a retransmitted Bluetooth audio packet.
[0005] In some embodiments, adjusting the first anchor time based on the detection result includes: determining the actual start time of the Bluetooth audio packet relative to a first local clock, wherein the first local clock is the local clock of the first playback device, based on the detection result; and adjusting the first anchor time based on a comparison between the actual start time and the first anchor time.
[0006] In some embodiments, the method further includes: when the detection result corresponding to a first number of consecutive Bluetooth audio packets indicates that the synchronization code detection has failed or a second number of consecutive Bluetooth audio packets have not been successfully received, adjusting the first anchor time based on the second anchor time of the second playback device, wherein the second playback device receives Bluetooth audio packets sent by the audio source device based on a synchronization search time window determined by the second anchor time.
[0007] In some embodiments, adjusting the first anchor time based on the second anchor time of the second playback device includes: determining a local clock difference value between the second playback device and the second playback device via a first Bluetooth connection; and adjusting the first anchor time based on the local clock difference value and the second anchor time of the second playback device.
[0008] In some embodiments, the Bluetooth link is the link where the second Bluetooth connection is located. The first playback device and the second playback device receive Bluetooth audio packets sent by the audio source device through the Bluetooth link, including: the first playback device receiving Bluetooth audio packets sent by the audio source device through the second Bluetooth connection; or receiving Bluetooth audio packets sent by the audio source device by listening to the second Bluetooth connection between the second playback device and the audio source device.
[0009] In some embodiments, the second Bluetooth connection is a classic Bluetooth connection, and the synchronization code includes the preamble, synchronization word, and end code in the downlink Bluetooth frame containing the Bluetooth audio packet.
[0010] In some embodiments, the Bluetooth link is a Bluetooth Low Energy link or a Bluetooth Low Energy audio link. The first playback device and the second playback device are deployed with the audio source device in the same connection isochronous group or broadcast isochronous group. When the first playback device and the second playback device receive Bluetooth audio packets based on different isochronous sub-events, the first anchor time is adjusted based on the second anchor time of the second playback device, including: determining a specified time interval between the second playback device and the second playback device based on connection isochronous sub-events or broadcast isochronous sub-events; and adjusting the first anchor time according to the specified time interval, the local clock difference value between the second playback device and the second anchor time.
[0011] In some embodiments, the Bluetooth link is a Bluetooth Low Energy link or a Bluetooth Low Energy audio link. The first playback device and the second playback device are deployed with the audio source device in the same connection isochronous group or broadcast isochronous group. When the first playback device and the second playback device receive Bluetooth audio packets based on the same isochronous sub-event, the first anchor time is adjusted based on the second anchor time of the second playback device, including: adjusting the first anchor time based on the local clock difference value between the second playback device and the second anchor time.
[0012] Secondly, this disclosure also provides a playback device, including: a Bluetooth module, used to establish a first Bluetooth connection with another playback device in a true wireless playback device, and to receive Bluetooth audio packets sent by an audio source device via a Bluetooth link with the other playback device; a processing module, used to perform synchronization code detection within a preset synchronization search time window during the process of receiving Bluetooth audio packets sent by the audio source device, obtain a detection result, and when the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, adjust a first anchor time based on the detection result, and determine a synchronization search time window corresponding to the adjusted first anchor time based on the adjusted first anchor time, so as to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet, wherein the synchronization search time window includes the predetermined first anchor time.
[0013] Thirdly, this disclosure also provides a true wireless playback device, comprising: two playback devices, wherein at least one playback device is used to perform the audio transmission method of any of the above aspects.
[0014] Fourthly, this disclosure also provides an audio transmission system, comprising: an audio source device for transmitting Bluetooth audio packets; and a true wireless playback device of any of the above aspects, connected to the audio source device via Bluetooth, for receiving Bluetooth audio packets.
[0015] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure.
[0016] The technical solutions provided by the embodiments of this disclosure can include the following beneficial effects: According to the audio transmission method provided by this disclosure, during the process of receiving Bluetooth audio packets, by performing synchronization code detection within a preset synchronization search time window including the first anchor point time, it is possible to determine in advance whether the Bluetooth audio packet is a valid audio packet before formally receiving the Bluetooth audio packet, so as to determine the actual reception time relative to the local clock, and to make targeted adjustments to the first anchor point time and the corresponding synchronization search time window, thereby effectively compensating for the time difference between the fixed connection intervals caused by the clock deviation between the playback device and the audio source device, improving the success rate of Bluetooth audio packet reception, reducing the number of communications with the audio source device, ensuring audio playback quality, thereby effectively reducing the communication power consumption between devices, and helping to extend the battery life of true wireless playback devices. Attached Figure Description
[0017] This disclosure can be better understood by describing exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, in which: Figure 1 This is a schematic diagram of the architecture of an audio transmission system according to an exemplary embodiment disclosed in a publication; Figure 2This is an interactive timing diagram illustrating an audio transmission according to an exemplary embodiment disclosed in a book. Figure 3 This is a flowchart illustrating an audio transmission method according to an exemplary embodiment of a published document; Figure 4 This is a flowchart illustrating an audio transmission method according to an exemplary embodiment of a published document; Figure 5 This is a schematic diagram illustrating a physical frame structure according to an exemplary embodiment of a published document; Figure 6 This is a schematic diagram illustrating another physical frame structure according to an exemplary embodiment of a published document; Figure 7 This is a schematic diagram illustrating yet another physical frame structure according to an exemplary embodiment disclosed in a book; Figure 8 This is a schematic diagram of the structure of a playback device according to an exemplary embodiment disclosed in a publication; Figure 9 This is a schematic diagram of the architecture of another audio transmission system illustrated in an exemplary embodiment of a published document. Detailed Implementation
[0018] The following describes specific embodiments of this disclosure. It should be noted that, in order to provide a concise description, this specification cannot exhaustively describe all features of the actual embodiments. It should be understood that, in the actual implementation of any embodiment, just as in any engineering or design project, various specific decisions are often made to achieve the developer's specific goals and to meet system-related or business-related constraints, and this can change from one embodiment to another. Furthermore, it is understood that although the efforts made in this development process may be complex and lengthy, for those skilled in the art related to the content disclosed in this disclosure, changes in design, manufacturing, or production based on the technical content disclosed in this disclosure are merely conventional technical means and should not be construed as insufficient content of this disclosure.
[0019] Unless otherwise defined, the technical or scientific terms used in this disclosure shall have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms “first,” “second,” and similar terms used in this disclosure do not indicate any order, quantity, or importance, but are merely used to distinguish different components. The terms “a” or “one,” etc., do not indicate a quantity limitation, but rather indicate the presence of at least one. The terms “comprising,” “including,” etc., mean that the element or object preceding “comprising” or “including” encompasses the elements or objects listed following “comprising” or “including” and their equivalents, and do not exclude other elements or objects. The terms “connected,” “linked,” etc., are not limited to physical or mechanical connections, nor are they limited to direct or indirect connections.
[0020] For audio playback scenarios using true wireless playback devices, these devices can receive Bluetooth audio packets sent by the source device via Bluetooth downlink frames, and then play audio. True wireless playback devices can include, but are not limited to, true wireless stereo (TWS) earbuds and true wireless speaker pairs. These devices can connect to the source device via Bluetooth and include at least two independent playback devices. The source device can be a smartphone, tablet, laptop, or various smart terminals.
[0021] For example, taking true wireless stereo (TWS) earbuds as a true wireless playback device, the Bluetooth connection between the earbuds and the audio source device can be as follows: Figure 1 As shown. The true wireless earbuds include earbud 1 and earbud 2. Earbud 1 and earbud 2 are interconnected via Bluetooth connection 1. Earbud 1 and earbud 2 communicate with the audio source device via Bluetooth by establishing a Bluetooth link. For example, earbud 1 establishes Bluetooth connection 2 with the audio source device via Bluetooth link, and then receives Bluetooth audio packets sent by the audio source device through Bluetooth connection 2. Through Bluetooth connection 1, earbud 1 can transmit relevant parameters of Bluetooth connection 2 to earbud 2. Earbud 2 can listen to Bluetooth connection 2 in the Bluetooth link according to the relevant parameters and receive Bluetooth audio packets sent from the audio source device.
[0022] The Bluetooth audio packets sent by the audio source device to earphones 1 and 2 are carried in Bluetooth downlink frames, specifically those belonging to Bluetooth Connection 2 and the listening connection. The information related to Bluetooth Connection 2 may include at least one of the following: the Bluetooth piconet clock, the Bluetooth address of the audio source device, and the frequency hopping sequence of Bluetooth Connection 2. Based on this information, earphone 2 can listen to the Bluetooth downlink frames from the audio source device and receive the audio data in the Bluetooth audio packets contained therein. Timing-wise, Bluetooth Connection 2 consists of alternating Bluetooth downlink and uplink frames. The Bluetooth downlink frames are Bluetooth frames synchronously sent by the audio source device to earphones 1 and 2, while the Bluetooth uplink frames are Bluetooth frames in which one of earphones 1 and 2 reports the reception status of the Bluetooth audio packets to the audio source device. These uplink frames may contain acknowledgment information, such as an acknowledgment (ACK) or a negative acknowledgment (NACK). The interaction process can be as follows: Figure 2 As shown. Among them, Figure 2 Earphone 2 is used as the earphone to report the Bluetooth audio packet reception status to the audio source device. In practical applications, earphone 1 can also be used to report the Bluetooth audio packet reception status to the audio source device; this is not a limitation.
[0023] If earphone 1 correctly receives a Bluetooth downlink frame from the audio source device, it sends a reception success signal to earphone 2 during the remaining time slot of that downlink frame, indicating that earphone 1 has successfully received the frame. If earphone 2 correctly receives a Bluetooth downlink frame from the audio source device or receives a reception success signal from earphone 1, it sends an acknowledgment signal to the audio source device in a Bluetooth uplink frame. If the audio source device receives the acknowledgment signal, it can then send the next Bluetooth audio packet in the next Bluetooth downlink frame or a subsequent Bluetooth downlink frame. If the audio source device does not receive an acknowledgment signal or receives a negative acknowledgment signal, it retransmits the Bluetooth audio packet in the next Bluetooth downlink frame until it receives a feedback acknowledgment signal. Specifically, for a Bluetooth audio packet transmitted by the audio source device via a Bluetooth downlink frame that is being sent for the first time, this Bluetooth downlink frame can be called a first frame; for a Bluetooth audio packet transmitted by the audio source device via a Bluetooth downlink frame that is being sent repeatedly, this Bluetooth downlink frame can be called a retransmission frame, and the number of retransmissions in a retransmission frame is greater than 1.
[0024] However, factors such as airborne wireless interference or obstructions between the playback device and the audio source device in a true wireless audio player can cause the wireless channel between them to be in a poor quality state for an extended period (e.g., a few milliseconds, tens of milliseconds, hundreds of milliseconds, etc.). During this time, they may be unable to send and receive wireless frames normally. Due to clock discrepancies between the playback device and the audio source device, even if the channel returns to normal, the playback device may still be unable to receive wireless frames from the audio source device. If the true wireless audio player is then re-paired with the audio source device, it will cause an additional, prolonged audio interruption, impacting the user experience.
[0025] It's important to note that during the actual connection process, when the audio source device communicates with headphones 1 and 2, it only needs to detect one playback device and establish a Bluetooth connection with it. The audio source device can be extremely versatile and does not need to establish Bluetooth connections with multiple playback devices. The above only illustrates the connection relationship between headphones 1, 2, and the audio source device. Bluetooth connection 2 can also be a Bluetooth connection between headphones 2 and the audio source device. In this case, headphones 1 obtains Bluetooth audio packets sent by the audio source device by listening to Bluetooth connection 2.
[0026] Therefore, this disclosure provides an audio transmission method. This audio transmission method is applied to a first playback device in a true wireless playback device. The true wireless playback device may include, but is not limited to, true wireless earphones, smart glasses, true wireless stereo speakers, and other multi-device collaborative electronic devices consisting of at least two independent playback devices. The first playback device connects to a second playback device in the true wireless playback device via a first Bluetooth connection, and the first and second playback devices receive Bluetooth audio packets sent by an audio source device via a Bluetooth link. The audio source device may be a smartphone, tablet, laptop, various smart terminals, etc. For example, the audio transmission system used for audio transmission in this application can be as follows: Figure 1 As shown, earphones 1 and 2 can be the first playback device and the second playback device in this application, and the first Bluetooth connection between the first playback device and the second playback device is Bluetooth connection 1. The correspondence between earphones 1 and 2 and the first and second playback devices is not fixed and depends on the actual connection status with the audio source device.
[0027] like Figure 3 As shown, the audio transmission method provided in this disclosure may include the following steps: In step S210, during the process of receiving Bluetooth audio packets sent by the audio source device, synchronization code detection is performed within a preset synchronization search time window to obtain the detection result.
[0028] For scenarios involving audio playback via true wireless playback devices, the audio source device provides Bluetooth audio packets to the true wireless playback device, enabling the true wireless playback device to play audio.
[0029] To enable synchronized playback between two true wireless playback devices, the audio source device and the true wireless playback device pre-agree on an anchor time for receiving Bluetooth audio packets (i.e., the start time for receiving Bluetooth audio packets) before audio transmission. This allows each playback device to periodically receive Bluetooth audio packets from the audio source device at fixed connection intervals according to the agreed anchor time. In other words, the anchor time can be understood as the expected start time of the Bluetooth physical frame containing the Bluetooth audio packet for either the first or second playback device.
[0030] However, in actual transmission, because the first playback device and the audio source device are two different devices, and they have different clock sources, their clocks come from different crystals, there will be a clock deviation between the clocks of the first playback device and the audio source device (such as 1ppm, 2ppm, 5ppm, 10ppm, 20ppm or 50ppm, etc.). This will cause the first anchor time recorded locally by the first playback device for receiving Bluetooth audio packets to deviate from the anchor time set by the audio source device, which in turn will lead to a deviation in the fixed connection interval.
[0031] Therefore, to improve the success rate of Bluetooth audio packet reception and reduce the number of communications between the audio source device and the first playback device, synchronization code detection is performed within a preset synchronization search time window. Based on the detection results, the reliability of the first anchor point time is determined, and whether adjustment is needed. The synchronization search time window includes a predetermined first anchor point time. The first anchor point time is the estimated time at which the first playback device corresponds to the start time of the Bluetooth audio packet transmission from the audio source device. That is, the earliest time within the synchronization search time window is earlier than the first anchor point time, and the latest time is later than the first anchor point time. Synchronization code detection involves checking the synchronization code field built into the frame header of the Bluetooth audio packet.
[0032] By configuring a synchronization search time window within the time domain of the first anchor point, synchronization code detection can be performed in advance before the first playback device officially receives the Bluetooth audio packet. This effectively avoids the problem of missed reception of Bluetooth audio packets due to anchor point time deviation and ensures the success rate of Bluetooth audio packet reception.
[0033] Step S220: When the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, adjust the first anchor point time based on the detection result.
[0034] When the detection result indicates successful synchronization code detection, it means that the start time of the corresponding Bluetooth frame or Bluetooth audio packet has been obtained. Alternatively, when the detection result indicates that the Bluetooth audio packet has been successfully received, it means that the signal-to-noise ratio of the Bluetooth link in this reception is good, and the Bluetooth audio packet can be received correctly, thus ensuring that the determined start time of the corresponding Bluetooth frame or Bluetooth audio packet has higher accuracy.
[0035] Therefore, regardless of which of the above situations occurs, the actual reception time of the Bluetooth audio packet can be determined. Based on this actual reception time, the first anchor point time can be adjusted, which can effectively compensate for the time difference between the fixed connection intervals caused by the clock deviation between the playback device and the audio source device, and is conducive to improving the success rate of subsequent Bluetooth audio packet reception.
[0036] Step S230: Based on the adjusted first anchor time, determine the synchronization search time window corresponding to the adjusted first anchor time, so as to perform synchronization code detection on the received next Bluetooth audio packet or the retransmitted Bluetooth audio packet.
[0037] Based on the adjusted first anchor point time, the synchronization search time window is adjusted so that the adjusted first anchor point time is within the time domain range of the adjusted synchronization search time window, thereby helping to ensure the effectiveness and reliability of the next reception interval.
[0038] If the Bluetooth audio packet has been successfully received, then in the adjusted synchronization search time window, the synchronization code of the next Bluetooth audio packet sent by the audio source device is detected. Based on the detection result, it is determined whether the adjusted first anchor time needs to be further adjusted to ensure the accuracy and reliability of the first anchor time.
[0039] If the Bluetooth audio packet is not successfully received, the synchronization code of the Bluetooth audio packet resent by the audio source device is checked during the adjusted synchronization search time window to ensure the success rate of the Bluetooth audio packet reception as much as possible, reduce the number of communications with the audio source device, thereby effectively reducing the power consumption of communication between devices and helping to extend the battery life of the true wireless playback device.
[0040] According to the audio transmission method provided in this disclosure, during the reception of Bluetooth audio packets, synchronization code detection is performed within a preset synchronization search time window including the first anchor point time. This allows for the determination of whether the Bluetooth audio packet is a valid audio packet before formal reception, thus determining the actual reception time relative to the local clock. The first anchor point time and the corresponding synchronization search time window are then adjusted accordingly. This effectively compensates for the time difference between fixed connection intervals caused by clock deviations between the playback device and the audio source device, improving the success rate of Bluetooth audio packet reception, reducing the number of communications with the audio source device, ensuring audio playback quality, and effectively reducing communication power consumption between devices, thereby extending the battery life of true wireless playback devices.
[0041] In some embodiments, step S220 above may include the following steps: Step a1: Determine the actual start time of the Bluetooth audio packet relative to the first local clock based on the detection results.
[0042] Since the synchronization code field is configured in the frame header of the Bluetooth audio packet, when the detection result is obtained, it indicates that the synchronization code field has been detected successfully. This allows us to determine whether the Bluetooth audio packet can be received correctly or whether it is the first reception, and thus determine the actual start time of formally receiving the Bluetooth audio packet relative to the first local clock. The first local clock is the local clock of the first playback device. The actual start time can be understood as the moment when a valid synchronization code is actually detected and reception of the Bluetooth audio packet begins.
[0043] Step a2: Adjust the first anchor point time based on the comparison between the actual start time and the first anchor point time.
[0044] By comparing the actual start time with the first anchor time, it can be determined whether the predetermined first anchor time needs adjustment. For example, if the actual start time is earlier than the first anchor time, it indicates that the first anchor time configuration is relatively lagging, and the first anchor time should be advanced to bring it closer to the predetermined anchor time. If the actual start time is later than the first anchor time, it indicates that the first anchor time configuration is relatively ahead, and the first anchor time should be delayed to bring it closer to the predetermined anchor time. If the actual start time is close to the first anchor time, it indicates that the first anchor time configuration is relatively reasonable, and it can be left unchanged.
[0045] In some embodiments, such as Figure 4 As shown, the audio transmission method may further include the following steps: Step S240: When the detection result corresponding to the first number of consecutive Bluetooth audio packets indicates that the synchronization code detection has failed or the second number of consecutive Bluetooth audio packets has not been successfully received, the first anchor time is adjusted based on the second anchor time of the second playback device.
[0046] Since synchronization code detection failure can lead to the unsuccessful reception of Bluetooth audio packets, and synchronization code detection failure is also one of the possible reasons for the unsuccessful reception of Bluetooth audio packets, when the detection results for the first consecutive number of Bluetooth audio packets indicate synchronization code detection failure or the second consecutive number of Bluetooth audio packets are unsuccessfully received, it indicates that the communication quality of the Bluetooth link between the first playback device and the audio source device is very poor during this period. Therefore, during this period, the first anchor time cannot be effectively adjusted, and the first anchor time may gradually deviate from the actual start time of the Bluetooth audio packets. Thus, even if the communication quality of the Bluetooth link returns to normal later, step code detection and successful reception of Bluetooth audio packets may still fail.
[0047] Since the second playback device and the first playback device receive the same Bluetooth audio packet, and the actual start time of the Bluetooth audio packet is the same, in order to quickly shorten the local clock difference between the first playback device and the audio source device, and to make the first anchor time closer to the predetermined anchor time, the first anchor time is adjusted based on the second anchor time of the second playback device. This ensures that the synchronization search time window based on the first anchor time covers the actual start time of the Bluetooth audio packet, improving the success rate of the first playback device receiving the Bluetooth audio packet. The second playback device and the first playback device belong to the same pair of true wireless playback devices. Furthermore, the second playback device receives the Bluetooth audio packet sent by the audio source device based on the synchronization search time window determined by the second anchor time. The second anchor time is the estimated time of the second playback device corresponding to the start time of the Bluetooth audio packet sent by the audio source device. Therefore, when the first playback device cannot effectively adjust the first anchor time, resulting in incorrect reception of the Bluetooth audio packet, the second anchor time of the second playback device can be adjusted as a reference. Adjusting the first anchor time of the first playback device based on the second anchor time makes the adjustment process more targeted and effective.
[0048] According to the audio transmission method provided in this disclosure, the first anchor point time can be dynamically calibrated by flexibly selecting an appropriate adjustment strategy based on the real-time reception status of the first playback device of the Bluetooth audio packet, thereby ensuring the effectiveness and reliability of the configuration of the first anchor point time and the corresponding synchronous search time window.
[0049] In some embodiments, the adjustment method of the second anchor time is similar to that of the first anchor time. That is, it can be self-adjusted based on the synchronization search time window deployed around the second anchor time time domain and the synchronization code detection of Bluetooth audio packets, or it can be adjusted based on the first anchor time. The specific adjustment process of the second anchor time is similar to that of the first anchor time, and will not be described in detail here.
[0050] In other embodiments, after switching to adjusting the first anchor time of the first playback device based on the second anchor time, if the detection result of the first playback device indicates successful synchronization code detection or successful reception of the Bluetooth audio packet, the mode of adjusting the first anchor time based on the second anchor time can be exited, and the adjustment of the first anchor time based on the reception of the Bluetooth audio packet by the first playback device can be resumed. That is, if, during the process of adjusting the first anchor time through the second anchor time of the second playback device, a situation occurs where the detection result of the first playback device indicates successful synchronization code detection or successful reception of the Bluetooth audio packet, the mode of adjusting the first anchor time based on the successful detection of its synchronization code field by the first playback device can be restored, instead of adjusting the first anchor time based on the second anchor time. This helps to save communication power consumption between devices and improve the overall usage time of the true wireless playback device.
[0051] In some examples, when the Bluetooth connection is a classic Bluetooth link, the first anchor time and the second anchor time are theoretically the same. Having the first and second anchor times the same reduces signal interference between the two playback devices, improves the accuracy of synchronization code detection, and thus helps improve the audio synchronization of the true wireless playback device and the stability of the Bluetooth link, while also reducing overall power consumption. Since the first and second anchor times correspond to the start time of the same Bluetooth audio packet, they may differ because in most cases the first and second anchor times are adjusted independently by each playback device. Therefore, when the first playback device cannot adjust its first anchor time itself, it can adjust the first anchor time based on the second anchor time. This effectively narrows the synchronization search time window, reduces invalid listening time, simplifies the complexity of the adjustment algorithm, and thus helps reduce the overall power consumption of the first playback device and extend the battery life of the true wireless playback device.
[0052] In other examples, the duration of the synchronous search time window can be 3us, 5us, 10us or 20us, which can be configured according to the actual working conditions.
[0053] In some embodiments, the process of adjusting the first anchor time based on the second anchor time of the second playback device may include the following steps: Step b1: Determine the local clock difference value between the device and the second playback device via the first Bluetooth connection; Step b2: Adjust the first anchor point time based on the local clock difference value and the second anchor point time of the second playback device.
[0054] Specifically, based on the first Bluetooth connection, the first playback device can synchronize local timestamps and other clock synchronization information with the second playback device through interaction, thereby determining the local clock difference between the two. Although the first anchor time and the second anchor time correspond to the start time of the same Bluetooth audio packet, due to the difference in the local clocks of the first and second playback devices, there will be a numerical difference between the first anchor time and the second anchor time, which corresponds to the local clock difference value. That is, the sum of the first anchor time and the local clock difference value equals the second anchor time.
[0055] When the detection result corresponding to the first consecutive number of Bluetooth audio packets indicates a synchronization code detection failure, or when the second consecutive number of Bluetooth audio packets are not successfully received, the Bluetooth link communication quality between the first playback device and the audio source device is relatively poor. However, at this time, the Bluetooth link between the second playback device and the audio source device is likely to be good. Therefore, the second anchor time can be considered relatively reliable. Based on the local clock difference and the second anchor time of the second playback device, a suitable first anchor time can be determined. This allows for targeted adjustment of the initial first anchor time, ensuring that the adjusted first anchor time is more accurate, reliable, and closer to the preset anchor time.
[0056] In some examples, the Bluetooth link is the link where the second Bluetooth connection is located. To distinguish between the device-to-device Bluetooth connection between true wireless playback devices and the terminal Bluetooth connection between a true wireless playback device and an audio source device, the connection between the first playback device and the second playback device is referred to as the first Bluetooth connection, and the Bluetooth connection between the first playback device and the second playback device and the audio source device is referred to as the second Bluetooth connection.
[0057] The first playback device and the second playback device receive Bluetooth audio packets sent by the audio source device via a Bluetooth link. This includes: the first playback device receiving Bluetooth audio packets sent by the audio source device through a second Bluetooth connection; or receiving Bluetooth audio packets sent by the audio source device by listening to the second Bluetooth connection between the second playback device and the audio source device. When the audio source device communicates with the first and second playback devices, it only needs to detect one of the playback devices and establish a Bluetooth connection with it; it does not need to establish Bluetooth connections with multiple playback devices. Therefore, when the first playback device is directly connected to the audio source device, the first playback device can directly receive Bluetooth audio packets sent by the audio source device based on the second Bluetooth connection. When the second playback device is directly connected to the audio source device, the first playback device can listen to the second playback device receiving Bluetooth audio packets sent by the audio source device based on the second Bluetooth connection through a listening method.
[0058] In some examples, the second Bluetooth connection is a classic Bluetooth connection, and the synchronization code may include the preamble, synchronization word, and end code from the downlink Bluetooth frame containing the Bluetooth audio packet. The synchronization code can also be referred to as the access code in the Bluetooth frame containing the Bluetooth audio packet. For example, the data transmission rate of Bluetooth can include a basic rate and an enhanced rate. For the basic rate, the physical frame structure of the Bluetooth downlink frame can be as follows: Figure 5 As shown, it includes three fields, arranged from least significant bit to most significant bit: access code 301, header 302, and payload 303. Access code 301 is the identifier for the piconet, used for timing synchronization, offset compensation, paging, and querying; header 302 contains information for Bluetooth link control; and payload 303 carries valid information. The Bluetooth audio packet is encapsulated in payload 303. Therefore, when the synchronization code detection result indicates successful synchronization, the frame can be considered a valid frame. Then, header 302 and payload 303 are parsed sequentially to obtain the Bluetooth audio packet, ensuring the reliability and validity of audio transmission. For enhanced rate, the physical frame structure of the Bluetooth downlink frame can be as follows: Figure 6 As shown. A Bluetooth physical frame includes six fields, arranged from least significant bit to most significant bit: access code 304, header 305, guard interval 306, synchronization 307, enhanced rate payload 308, and trailer 309. Among these, access code 304, header 305, and enhanced rate payload 308 are... Figure 5The access code 301, header 302, and payload 303 are similar and will not be described in detail here. Guard interval 306 represents the interval between header 305 and synchronization 307; synchronization 307 contains a synchronization sequence, typically the synchronization sequence used in differential phase shift keying modulation; the packet tail 309 uses different settings for different modulation schemes. In some examples, for synchronized Bluetooth downlink frames, for instance, 16 bits may be added at the end of payload 303 and boost rate payload 308 for cyclic redundancy check.
[0059] In other embodiments, the Bluetooth link is a Low Energy Bluetooth (LE) link or a Low Energy Bluetooth Audio (LEA) link. The first and second playback devices are deployed in the same Connected Isochronous Group (CIG) or Broadcast Isochronous Group (BIG) as the audio source device. That is, a connected isochronous group or broadcast isochronous group can be pre-established between the true wireless playback device and the audio source device. A Connected Isochronous Group (CIG) is a logical group composed of one or more Connected Isochronous Streams (CIS), which coordinates the CIS within the group to ensure precise data synchronization between multiple connection points (playback devices). A Broadcast Isochronous Group (BIG) is a logical group composed of one or more BIS (Broadcast Isochronous Streams), where all BIS share the same timing parameters (such as interval and delay) to ensure synchronous data transmission between multiple playback devices.
[0060] For example, taking true wireless playback devices as true wireless earbuds (including earbud 1 and earbud 2), the process of receiving Bluetooth audio packets through the audio source device via true wireless earbuds can include the following: Method 1: The audio source device establishes a CIG connection, the earphone 1 establishes a CIS connection 1 with the audio source device, the earphone 2 establishes a CIS connection 2 with the audio source device, the earphone 1 receives Bluetooth audio packets through CIS connection 1, and the earphone 2 receives Bluetooth audio packets through CIS connection 2. The second method involves the audio source device establishing a BIG, and earphones 1 and 2 synchronizing and joining the BIG, receiving BIS index 1, and receiving the corresponding Bluetooth audio packets. In other words, earphones 1 and 2 receive Bluetooth audio packets via BIS index 1. Of course, the audio source device sends Bluetooth audio packets via BIS index 1 so that the earphones can receive them. The third method: The audio source device establishes a CIG connection, and either earphone A of earphone 1 or earphone 2 establishes a CIS connection 1 with the audio source device and receives audio; the other earphone B listens for the CIS connection 1 and receives Bluetooth audio packets. The fourth method involves the audio source device establishing a BIG, synchronizing with either earphone C in earphone 1 and earphone 2, adding it to the BIG, receiving BIS index 1, and receiving its corresponding Bluetooth audio packet; the other earphone listens for the BIS index 1 added by earphone C and receives its corresponding Bluetooth audio packet; of course, the audio source device sends Bluetooth audio packets through BIS index 1 so that the earphones can receive them. Fifth method: The audio source device establishes a BIG connection, and the earphone 1 establishes a BIS connection 1 with the audio source device. The earphone 2 establishes a BIS connection 2 with the audio source device. The earphone 1 receives Bluetooth audio packets through the BIS connection 1, and the earphone 2 receives Bluetooth audio packets through the BIS connection 2.
[0061] Among them, the anchor times of the first playback device and the second playback device (i.e., the first anchor time and the second anchor time) are the predetermined start times of their respective connected isochronous sub-events or broadcast isochronous sub-events.
[0062] When the first playback device and the second playback device receive Bluetooth audio packets based on different isochronous sub-events, the process of adjusting the first anchor time may include: determining a specified time interval between the first playback device and the second playback device based on connection isochronous sub-events or broadcast isochronous sub-events; and adjusting the first anchor time according to the specified time interval, the local clock difference between the first playback device and the second playback device, and the second anchor time.
[0063] That is, since the first playback device and the second playback device are connected via isochronous streams to the audio source device, and receive the same Bluetooth audio packet based on different isochronous stream sub-events, and since there is a certain time interval when the audio source device sends the same Bluetooth audio packet through the two isochronous stream sub-events, there is a specified time interval between the first anchor time and the second anchor time. When adjusting the first anchor time later, it is necessary to combine the specified time interval, the local clock difference between the first and second playback devices, and the second anchor time for adjustment.
[0064] In some examples, the first connection isochronous stream sub-event is received based on the first connection isochronous stream connection between the first playback device and the audio source device, and the second connection isochronous stream sub-event is received based on the second connection isochronous stream connection between the second playback device and the audio source device. When the first playback device and the second playback device receive Bluetooth audio packets based on different connection isochronous stream sub-events, the above step S240, adjusting the first anchor point time based on the second anchor point time of the second playback device, can be as follows: Step c1: Determine the first time interval between the first playback device receiving the first connection isochronous sub-event and the second playback device receiving the second connection isochronous sub-event; Step c2: Adjust the first anchor time based on the first time interval, the local clock difference between the second playback device and the second anchor time.
[0065] A first playback device receives audio packets from an audio source device via a first connection isochronous stream connection during a first connection isochronous stream sub-event. A second playback device receives Bluetooth audio packets from an audio source device via a second connection isochronous stream connection during a second connection isochronous stream sub-event. A first anchor time is pre-agreed with the audio source device to correspond to the start time of the first connection isochronous stream sub-event, and a second anchor time is pre-agreed to correspond to the start time of the second connection isochronous stream. Since both the first and second connection isochronous stream sub-events are sent by the audio source device, a certain time interval exists between them. Consequently, a specified time interval corresponding to this time interval exists between the first and second anchor times.
[0066] When the detection result corresponding to the first consecutive number of Bluetooth audio packets indicates a synchronization code detection failure, or when the second consecutive number of Bluetooth audio packets are not successfully received, it indicates that the Bluetooth link communication quality between the first playback device and the audio source device is relatively poor. However, at this time, the Bluetooth link between the second playback device and the audio source device is likely to be good. Since the time interval between the first playback device receiving the first connection isochronous sub-event and the second playback device receiving the second connection isochronous sub-event can be determined, and the local clock difference between the two playback devices can be determined based on the local clock difference between them, using the second anchor time as a reference, and adjusting the first anchor time according to the first time interval and the local clock difference between the first and second playback devices, makes the adjustment process more targeted, effectively simplifies the adjustment process, improves adjustment efficiency, and helps improve the accuracy and reliability of the adjusted first anchor time, making it closer to the preset anchor time.
[0067] In other examples, the first broadcast isochronous stream sub-event is received based on the first broadcast isochronous stream connection between the first playback device and the audio source device, and the second broadcast isochronous stream sub-event is received based on the second broadcast isochronous stream connection between the second playback device and the audio source device. When the first playback device and the second playback device receive Bluetooth audio packets based on different broadcast isochronous stream sub-events, the above step S240, adjusting the first anchor point time based on the second anchor point time of the second playback device, can be as follows: Step d1: Determine the second time interval between the first playback device receiving the first broadcast isochronous sub-event and the second playback device receiving the second broadcast isochronous sub-event; Step d2: Adjust the first anchor time based on the first time interval, the local clock difference between the second playback device and the second anchor time.
[0068] A first playback device receives audio packets from an audio source device via a first broadcast isochronous stream connection during the first broadcast isochronous stream sub-event. A second playback device receives Bluetooth audio packets from the audio source device via a second broadcast isochronous stream connection during the second broadcast isochronous stream sub-event. A first anchor time is pre-agreed with the audio source device to correspond to the start time of the first broadcast isochronous stream sub-event, and a second anchor time is pre-agreed to correspond to the start time of the second broadcast isochronous stream. Since both the first and second broadcast isochronous stream sub-events are sent by the audio source device, a certain time interval exists between them. Consequently, a specified time interval corresponding to this time interval exists between the first and second anchor times.
[0069] When the detection result corresponding to the first consecutive number of Bluetooth audio packets indicates a synchronization code detection failure, or when the second consecutive number of Bluetooth audio packets are not successfully received, it indicates that the Bluetooth link communication quality between the first playback device and the audio source device is relatively poor. However, at this time, the Bluetooth link between the second playback device and the audio source device is likely to be good. Since the time interval between the first playback device receiving the first broadcast isochronous sub-event and the second playback device receiving the second broadcast isochronous sub-event can be used to determine the time interval between the first and second playback devices receiving the same Bluetooth audio packet, and the local clock difference between the two playback devices can be determined based on the local clock difference value between the two playback devices, using the second anchor time as a reference, and adjusting the first anchor time according to the second time interval and the local clock difference value between the first and second playback devices, can make the adjustment process more targeted, effectively simplify the adjustment process, improve adjustment efficiency, and help improve the accuracy and reliability of the adjusted first anchor time, so that the adjusted first anchor time is closer to the preset anchor time.
[0070] In some application scenarios, when the first anchor time differs from the second anchor time, the window range of the synchronization search window corresponding to the first anchor time can be configured according to their temporal order. This avoids including both the first and second anchor times within the same synchronization search window. For example, assuming a fixed time interval where the first anchor time is earlier than the second anchor time, the latest moment of the synchronization search window can be configured to be earlier than the second anchor time. This prevents the synchronization search window from being too long, which could affect the power consumption of the first playback device and reduce the probability of detection errors. It also avoids conflicts with the receiving timing of the second playback device. Therefore, when adjusting the first anchor time based on the second anchor time of the second playback device, the receiving time range of the first playback device is focused on the effective time domain corresponding to its own anchor point, avoiding ineffective adjustments and making the adjustment process more targeted, thereby improving the accuracy of synchronization code detection. For example, if the first anchor time is later than the second anchor time by a fixed time interval, when configuring the synchronization search time window for the first anchor time, the earliest time of the synchronization search time window can be configured to be later than the second anchor time. Similarly, the synchronization search window for the second anchor time can be configured in a similar way to the synchronization search window for the first anchor time, which will not be elaborated here.
[0071] In some other examples, when the first playback device and the second playback device receive Bluetooth audio packets based on the same isochronous sub-event, the above step S240, the process of adjusting the first anchor time based on the second anchor time of the second playback device, may include: adjusting the first anchor time based on the local clock difference value between the second playback device and the second anchor time.
[0072] Combining the second, third, and fourth receiving methods described above for receiving Bluetooth audio packets via a source device through true wireless earbuds, the first playback device and the second playback device can receive Bluetooth audio packets based on the same connection isochronous sub-event or the same broadcast isochronous sub-event.
[0073] When the first playback device and the second playback device receive Bluetooth audio packets based on the same connection isochronous sub-event or the same broadcast isochronous sub-event, theoretically the first anchor time and the second anchor time should be the same, with no time interval. Therefore, when adjusting the first anchor time using the second anchor time in this situation, the second anchor time can be used as a reference. The first anchor time can be adjusted based on the local clock difference between the first and second playback devices, making the adjustment process more targeted, improving efficiency, and bringing the adjusted first anchor time closer to the preset anchor time.
[0074] In some examples, for audio transmission based on connection isochronous sub-events or broadcast isochronous sub-events, the synchronization code may include the preamble and access address (AA, also known as the access code) from the downlink Bluetooth frame containing the Bluetooth audio packet. For example, the physical frame structure of the frame containing the Bluetooth audio packet may be as follows: Figure 7 As shown, from least significant bit to most significant bit, the fields are preamble 401, access address 402, link layer header 403, and payload 404. The CRC (Cyclic Redundancy Check) field at the end of the frame is not shown. In this disclosure, the Bluetooth audio packet refers to the audio data corresponding to payload 404 in the frame containing the Bluetooth audio packet, and the synchronization code refers to the combination of preamble 401 and access address 402.
[0075] In some optional application scenarios, taking the Bluetooth connection established between the first playback device, the second playback device, and the audio source device as a classic Bluetooth connection as an example, the process of audio transmission through the audio source device can be as follows: A first playback device establishes a first Bluetooth connection with a second playback device, and a second Bluetooth connection with an audio source device. The first and second playback devices, along with the audio source device, pre-agree on an anchor time for receiving Bluetooth audio packets. The first playback device determines a first anchor time and configures a synchronization search time window within the time domain of the first anchor time based on this anchor time and its own first local clock. The second playback device determines a second anchor time and configures a synchronization search time window within the time domain of the second anchor time based on this anchor time and its own second local clock. The second playback device receives Bluetooth audio packets by monitoring the second Bluetooth connection between the first playback device and the audio source device.
[0076] During the process of receiving Bluetooth audio packets sent by the audio source device, the first playback device performs synchronization code detection within a preset synchronization search time window and obtains the detection result.
[0077] When the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, the first anchor time is adjusted based on the detection result, and a synchronization search time window corresponding to the adjusted first anchor time is determined based on the adjusted first anchor time, so as to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet.
[0078] However, when the detection result for a first number (e.g., greater than or equal to 5) of Bluetooth audio packets indicates a synchronization code detection failure, or when a second consecutive number (e.g., greater than or equal to 3) of Bluetooth audio packets are not successfully received, the local clock difference between the first Bluetooth connection and the second playback device is determined. Based on the local clock difference and the second anchor time, the first anchor time is adjusted. Based on the adjusted first anchor time, a synchronization search time window corresponding to the adjusted first anchor time is determined to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet.
[0079] In other optional application scenarios, taking the Bluetooth connection established between the first playback device, the second playback device, and the audio source device as an isochronous stream connection as an example, the audio transmission process through the audio source device can be as follows: The first playback device establishes a first Bluetooth connection with the second playback device and a CIS connection 1 with the audio source device. The second playback device establishes a CIS connection 2 with the audio source device. The first and second playback devices and the audio source device pre-agree on anchor times for receiving Bluetooth audio packets. The first playback device receives Bluetooth audio packets from the audio source device via CIS connection 1 in CIS sub-event 1, and the second playback device receives audio packets from the audio source device via CIS connection 2 in CIS sub-event 2. The predetermined anchor time 1 corresponds to the start time of CIS sub-event 1, and the predetermined anchor time 2 corresponds to the start time of CIS sub-event 2. The start times of CIS sub-event 1 and CIS sub-event 2 have a predetermined specified time interval, and therefore, the anchor time 1 of the first playback device and the anchor time 2 of the second playback device have a first time interval corresponding to this specified time interval.
[0080] During the process of receiving Bluetooth audio packets sent by the audio source device, the first playback device performs synchronization code detection within a preset synchronization search time window and obtains the detection result.
[0081] When the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, the first anchor time is adjusted based on the detection result, and a synchronization search time window corresponding to the adjusted first anchor time is determined based on the adjusted first anchor time, so as to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet.
[0082] However, when the detection result for a first number (e.g., greater than or equal to 5) of Bluetooth audio packets indicates a synchronization code detection failure, or when a second consecutive number (e.g., greater than or equal to 3) of Bluetooth audio packets are not successfully received, the local clock difference between the first Bluetooth connection and the second playback device is determined. Based on a specified time interval, the local clock difference, and the second anchor time, the first anchor time is adjusted. Based on the adjusted first anchor time, a synchronization search time window corresponding to the adjusted first anchor time is determined to perform synchronization code detection on the next received Bluetooth audio packet or a retransmitted Bluetooth audio packet.
[0083] Alternatively, the first playback device establishes a first Bluetooth connection with the second playback device and a CIS connection 1 with the audio source device. The second playback device establishes a CIS connection 2 with the audio source device. The first and second playback devices and the audio source device pre-agree on anchor times for receiving Bluetooth audio packets. The first playback device receives Bluetooth audio packets from the audio source device via CIS connection 1 in CIS sub-event 1, and the second playback device receives audio packets from the audio source device via CIS connection 2 in CIS sub-event 1. Since both the pre-agreed anchor times 1 and 2 correspond to the start time of CIS sub-event 1, theoretically there is no time interval between the anchor times 1 and 2 of the first playback device and the second playback device.
[0084] During the process of receiving Bluetooth audio packets sent by the audio source device, the first playback device performs synchronization code detection within a preset synchronization search time window and obtains the detection result.
[0085] When the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, the first anchor time is adjusted based on the detection result, and a synchronization search time window corresponding to the adjusted first anchor time is determined based on the adjusted first anchor time, so as to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet.
[0086] However, when the detection result for a first number (e.g., greater than or equal to 5) of Bluetooth audio packets indicates a synchronization code detection failure, or when a second consecutive number (e.g., greater than or equal to 3) of Bluetooth audio packets are not successfully received, the local clock difference between the first Bluetooth connection and the second playback device is determined. Based on the local clock difference and the second anchor time, the first anchor time is adjusted. Based on the adjusted first anchor time, a synchronization search time window corresponding to the adjusted first anchor time is determined to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet.
[0087] In some alternative application scenarios, taking the Bluetooth connection established between the first and second playback devices and the audio source device as a broadcast or other time-stream connection as an example, the process of audio transmission through the audio source device can be as follows: The first playback device establishes a first Bluetooth connection with the second playback device and synchronizes with the BIG of the audio source device, receiving BIS index 1 sent by the audio source device, and the second playback device receives BIS index 2 sent by the audio source device. The first and second playback devices pre-agree on the anchor time for receiving Bluetooth audio packets with the audio source device. The first playback device receives audio packets from the audio source device via BIS connection 1 at BIS index 1, and the second playback device receives audio packets from the audio source device via BIS connection 2 at BIS index 2. The predetermined anchor time 1 corresponds to the start time of BIS index 1, and the predetermined anchor time 2 corresponds to the start time of BIS index 2. The start times of BIS index 1 and BIS index 2 have a predetermined specified time interval, and therefore, the anchor time 1 of the first playback device and the anchor time 2 of the second playback device have a second time interval corresponding to this specified time interval. The BIS index corresponds to a BIS sub-event within the BIG sub-event.
[0088] During the process of receiving Bluetooth audio packets sent by the audio source device, the first playback device performs synchronization code detection within a preset synchronization search time window and obtains the detection result.
[0089] When the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, the first anchor time is adjusted based on the detection result, and a synchronization search time window corresponding to the adjusted first anchor time is determined based on the adjusted first anchor time, so as to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet.
[0090] However, when the detection result for a first number (e.g., greater than or equal to 5) of Bluetooth audio packets indicates a synchronization code detection failure, or when a second consecutive number (e.g., greater than or equal to 3) of Bluetooth audio packets are not successfully received, the local clock difference between the first Bluetooth connection and the second playback device is determined. Based on a specified time interval, the local clock difference, and the second anchor time, the first anchor time is adjusted. Based on the adjusted first anchor time, a synchronization search time window corresponding to the adjusted first anchor time is determined to perform synchronization code detection on the next received Bluetooth audio packet or a retransmitted Bluetooth audio packet.
[0091] Alternatively, the first playback device establishes a first Bluetooth connection with the second playback device and synchronizes with the BIG of the audio source device, receiving BIS index 1 sent by the audio source device. The second playback device also receives BIS index 1 sent by the audio source device. The first and second playback devices pre-agree on anchor time for receiving Bluetooth audio packets with the audio source device. The first playback device receives audio packets from the audio source device via BIS connection 1 at BIS index 1, and the second playback device receives audio packets from the audio source device via BIS connection 2 at BIS index 1. The predetermined anchor time 1 corresponds to the start time of BIS index 1, and the predetermined anchor time 2 corresponds to the start time of BIS index 2. Since both predetermined anchor time 1 and anchor time 2 correspond to the start time of BIS index 1, theoretically there is no time interval between the anchor time 1 of the first playback device and the anchor time 2 of the second playback device.
[0092] During the process of receiving Bluetooth audio packets sent by the audio source device, the first playback device performs synchronization code detection within a preset synchronization search time window and obtains the detection result.
[0093] When the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, the first anchor time is adjusted based on the detection result, and a synchronization search time window corresponding to the adjusted first anchor time is determined based on the adjusted first anchor time, so as to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet.
[0094] However, when the detection result for a first number (e.g., greater than or equal to 5) of Bluetooth audio packets indicates a synchronization code detection failure, or when a second consecutive number (e.g., greater than or equal to 3) of Bluetooth audio packets are not successfully received, the local clock difference between the first Bluetooth connection and the second playback device is determined. Based on the local clock difference and the second anchor time, the first anchor time is adjusted. Based on the adjusted first anchor time, a synchronization search time window corresponding to the adjusted first anchor time is determined to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet.
[0095] Based on the same inventive concept, this disclosure also provides a playback device. For example... Figure 8 As shown, the playback device 500 may include: Bluetooth module 510 is used to establish a first Bluetooth connection with another playback device in a true wireless playback device, and to receive Bluetooth audio packets sent by the audio source device through a Bluetooth link with the other playback device. The processing module 520 is used to perform synchronization code detection within a preset synchronization search time window during the process of receiving Bluetooth audio packets sent by the audio source device, and obtain the detection result. When the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, the first anchor time is adjusted based on the detection result, and the synchronization search time window corresponding to the adjusted first anchor time is determined based on the adjusted first anchor time, so as to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet. The synchronization search time window includes the predetermined first anchor time.
[0096] In some embodiments, the processing module 520 may include: a first unit module, configured to determine, based on the detection result, the actual start time of the Bluetooth audio packet relative to a first local clock, wherein the first local clock is the local clock of the playback device; and a first adjustment module, configured to adjust the first anchor time based on a comparison result between the actual start time and the first anchor time.
[0097] In some embodiments, the processing module 520 is further configured to adjust the first anchor time based on the second anchor time of another playback device when the detection result corresponding to the first number of consecutive Bluetooth audio packets indicates that the synchronization code detection has failed or the second number of consecutive Bluetooth audio packets have not been successfully received. The other playback device receives the Bluetooth audio packets sent by the audio source device based on the synchronization search time window determined by the second anchor time.
[0098] In some embodiments, the processing module 520 includes: a second determining unit, configured to determine a local clock difference value between itself and another playback device via a first Bluetooth connection; and a second adjusting unit, configured to adjust a first anchor time based on the local clock difference value and a second anchor time of the other playback device.
[0099] In some embodiments, the Bluetooth link is the link where the second Bluetooth connection is located. The playback device and another playback device receive Bluetooth audio packets sent by the audio source device through the Bluetooth link, including: the playback device receiving Bluetooth audio packets sent by the audio source device through the second Bluetooth connection; or receiving Bluetooth audio packets sent by the audio source device by listening to the second Bluetooth connection between the other playback device and the audio source device.
[0100] In some embodiments, the second Bluetooth connection is a classic Bluetooth connection, and the synchronization code includes the preamble, synchronization word, and end code in the downlink Bluetooth frame containing the Bluetooth audio packet.
[0101] In some embodiments, the Bluetooth link is a Bluetooth Low Energy link or a Bluetooth Low Energy audio link. The first playback device and the second playback device are deployed with the audio source device in the same connection isochronous group or broadcast isochronous group. When the first playback device and the second playback device receive Bluetooth audio packets based on different isochronous sub-events, the processing module 520 may include: determining a specified time interval between the first playback device and the second playback device based on connection isochronous sub-events or broadcast isochronous sub-events; and adjusting the first anchor time according to the specified time interval, the local clock difference value between the first playback device and the second playback device, and the second anchor time.
[0102] In some embodiments, the Bluetooth link is a Bluetooth Low Energy link or a Bluetooth Low Energy audio link. The first playback device and the second playback device are deployed with the audio source device in the same connection isochronous group or broadcast isochronous group. When the first playback device and the second playback device receive Bluetooth audio packets based on the same isochronous sub-event, the processing module 520 may include: adjusting the first anchor time based on the local clock difference value between the first playback device and the second anchor time.
[0103] Regarding the playback device in the above embodiments, the specific methods by which each module performs its operations have been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0104] Based on the same inventive concept, this disclosure also provides a true wireless playback device. This true wireless playback device may include two playback devices, wherein at least one playback device is used to execute any of the audio transmission methods provided in this disclosure, thereby effectively improving the success rate of Bluetooth audio packet reception, ensuring audio playback quality, and, based on the Bluetooth audio packet forwarding within the true wireless playback device, significantly reducing the number of communication sessions between devices, thus helping to reduce the power consumption of the true wireless playback device and extend its usage time.
[0105] Based on the same inventive concept, this disclosure also provides an audio transmission system. For example... Figure 9 As shown, the audio transmission system 600 may include: Audio source device 610 is used to send Bluetooth audio packets; Any of the true wireless playback devices 620 provided in this disclosure are connected via Bluetooth to the audio source device 610 for receiving Bluetooth audio packets.
[0106] This disclosure uses specific terms to describe embodiments of the present disclosure. Terms such as "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of the present disclosure. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics in one or more embodiments of the present disclosure can be appropriately combined.
[0107] In the context of this disclosure, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not specifically refer to the singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
[0108] Similarly, it should be noted that, in order to simplify the description of this disclosure and thus aid in the understanding of one or more embodiments, the foregoing description of embodiments of this disclosure may sometimes combine multiple features into a single embodiment, drawing, or description thereof. However, this disclosure method does not imply that the subject matter of this disclosure requires more features than the features claimed. In fact, the embodiments contain fewer features than all the features of the single embodiments disclosed above.
[0109] The basic concepts have been described above. It is obvious that the above disclosure is merely illustrative and does not constitute a limitation of this disclosure. Although not explicitly stated herein, various modifications, improvements, and corrections may be made to this disclosure by those skilled in the art. Such modifications, improvements, and corrections are suggested in this disclosure and therefore remain within the spirit and scope of the embodiments of this disclosure.
Claims
1. An audio transmission method, applied to a first playback device in a true wireless playback device, wherein the first playback device is connected to a second playback device in the true wireless playback device via a first Bluetooth connection, and the first playback device and the second playback device receive Bluetooth audio packets sent by an audio source device via a Bluetooth link, the method comprising: During the process of receiving the Bluetooth audio packet sent by the audio source device, a synchronization code is detected within a preset synchronization search time window to obtain the detection result. The synchronization search time window includes a predetermined first anchor point time. When the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, the first anchor point time is adjusted based on the detection result. Based on the adjusted first anchor time, a synchronization search time window corresponding to the adjusted first anchor time is determined to perform synchronization code detection on the received next Bluetooth audio packet or the retransmitted Bluetooth audio packet.
2. The audio transmission method according to claim 1, wherein, Adjusting the time of the first anchor point based on the detection result includes: Based on the detection results, the actual start time of the Bluetooth audio packet relative to the first local clock is determined, wherein the first local clock is the local clock of the first playback device; Based on the comparison between the actual start time and the first anchor point time, the first anchor point time is adjusted.
3. The audio transmission method according to claim 1 or 2, wherein, The method further includes: When the detection result corresponding to the first consecutive number of Bluetooth audio packets indicates that the synchronization code detection has failed or the second consecutive number of Bluetooth audio packets has not been successfully received, the first anchor time is adjusted based on the second anchor time of the second playback device, wherein the second playback device receives the Bluetooth audio packets sent by the audio source device based on the synchronization search time window determined by the second anchor time.
4. The audio transmission method according to claim 3, wherein, The adjustment of the first anchor time based on the second anchor time of the second playback device includes: The local clock difference value between the device and the second playback device is determined through the first Bluetooth connection; The first anchor time is adjusted based on the local clock difference value and the second anchor time of the second playback device.
5. The audio transmission method according to claim 1, wherein, The Bluetooth link is the link where the second Bluetooth connection is located. The first playback device and the second playback device receive Bluetooth audio packets sent by the audio source device through the Bluetooth link, including: The first playback device receives the Bluetooth audio packet sent by the audio source device via the second Bluetooth connection; or The second Bluetooth connection between the second playback device and the audio source device is monitored to receive the Bluetooth audio packets sent by the audio source device.
6. The audio transmission method according to claim 5, wherein, The second Bluetooth connection is a classic Bluetooth connection, and the synchronization code includes the preamble, synchronization word, and end code in the downlink Bluetooth frame where the Bluetooth audio packet is located.
7. The audio transmission method according to claim 3, wherein, The Bluetooth link is a Bluetooth Low Energy link or a Bluetooth Low Energy audio link. The first playback device and the second playback device are deployed in the same connection isochronous group or broadcast isochronous group as the audio source device. When the first playback device and the second playback device receive the Bluetooth audio packet based on different isochronous sub-events, adjusting the first anchor time based on the second anchor time of the second playback device includes: Determine a specified time interval between the second playback device and a connection isochronous sub-event or a broadcast isochronous sub-event; The first anchor time is adjusted based on the specified time interval, the local clock difference between the second playback device and the second anchor time.
8. The audio transmission method according to claim 3, wherein, The Bluetooth link is a Bluetooth Low Energy link or a Bluetooth Low Energy audio link. The first playback device and the second playback device are deployed in the same connection isochronous group or broadcast isochronous group as the audio source device. When the first playback device and the second playback device receive the Bluetooth audio packet based on the same isochronous stream sub-event, adjusting the first anchor time based on the second anchor time of the second playback device includes: The first anchor time is adjusted based on the local clock difference between the second playback device and the second anchor time.
9. A playback device, comprising: The Bluetooth module is used to establish a first Bluetooth connection with another playback device in the true wireless playback device, and to receive Bluetooth audio packets sent by the audio source device through the Bluetooth link with the other playback device. The processing module is configured to perform synchronization code detection within a preset synchronization search time window during the process of receiving the Bluetooth audio packet sent by the audio source device, obtain a detection result, and when the detection result indicates that the synchronization code detection is successful or the Bluetooth audio packet is successfully received, adjust the first anchor time based on the detection result, and determine the synchronization search time window corresponding to the adjusted first anchor time based on the adjusted first anchor time, so as to perform synchronization code detection on the next received Bluetooth audio packet or the retransmitted Bluetooth audio packet, wherein the synchronization search time window includes the predetermined first anchor time.
10. A true wireless playback device, comprising: Two playback devices, wherein at least one of the playback devices is used to perform the audio transmission method according to any one of claims 1-8.
11. An audio transmission system, comprising: Audio source device, used to send Bluetooth audio packets; The true wireless playback device of claim 10 is connected to the audio source device via Bluetooth and is used to receive the Bluetooth audio packets.