Bluetooth synchronization method and Bluetooth synchronization system

By establishing clock mapping and data compensation methods, the Bluetooth synchronization point is converted into the application processor's synchronization point, solving the synchronization problem caused by clock source asynchrony in the Bluetooth audio system, achieving high-precision audio synchronization, and improving the user experience.

CN121056992APending Publication Date: 2025-12-02MEDIATEK SINGAPORE PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410702866.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-31
Publication Date
2025-12-02

AI Technical Summary

Technical Problem

In Bluetooth audio systems, the Bluetooth adapter and the application processor have different clock sources, which causes audio desynchronization and affects audio synchronization.

Method used

By establishing a clock mapping, a conversion function is used to convert the Bluetooth synchronization point into the application processor's synchronization point, and audio data is processed through a data compensation method to generate audio data ready for playback, ensuring synchronization under different clock sources.

Benefits of technology

It achieves high-precision synchronization of audio devices with different clock sources within ±125 microseconds, avoiding underload or overload issues and improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121056992A_ABST
    Figure CN121056992A_ABST
Patent Text Reader

Abstract

The invention provides a Bluetooth synchronization method. The method comprises the following steps: acquiring a Bluetooth synchronization point and decoded audio data according to a synchronization data packet from a Bluetooth adapter; converting the Bluetooth synchronization point into an AP synchronization point of the AP according to clock mapping of the Bluetooth adapter and an application processor (AP); and processing the decoded audio data according to the AP synchronization point to generate audio data to be played. The Bluetooth synchronization method is suitable for an audio receiver, the audio receiver comprises a Bluetooth adapter and an AP, and the Bluetooth adapter and the AP have different clock sources. Correspondingly, the invention also provides a Bluetooth synchronization system. According to the invention, synchronous audio playing can be realized more accurately.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention generally relates to an audio processing technique, and more particularly, to a Bluetooth synchronization method and Bluetooth synchronization system for audio receivers or transmitters with different clock sources. [Background Technology]

[0002] With the rapid development of science and technology, various audio communication technologies are being applied to our daily lives. For example, the newly released Bluetooth Low Energy (BLE) audio specifications have opened up a new era of possibilities for wireless audio. They can be applied to a wide range of wireless earbuds and provide a toolkit that allows designers to extend their designs to new audio application areas. BLE audio offers broad applications with low power consumption and provides enhanced audio quality and topology.

[0003] However, when two or more chips are used in a BLE audio system, maintaining data synchronization between the different chips is crucial. For example, in the receiver, all receivers need to output audio signals synchronously. Similarly, if the transmitter is producing sound, both the transmitter and receiver need to output audio signals simultaneously.

[0004] Therefore, developing a Bluetooth synchronization method and Bluetooth synchronization system is an important design issue. [Summary of the Invention]

[0005] In view of this, the present invention provides a Bluetooth synchronization method and system that can reduce audio desynchronization problems caused by different clock sources of the Bluetooth adapter and the application processor, thereby enabling more accurate audio synchronization.

[0006] In a first aspect, the present invention provides a Bluetooth synchronization method applicable to an audio receiver, wherein the audio receiver includes a Bluetooth adapter and an application processor (AP), the method comprising: acquiring a Bluetooth synchronization point and decoded audio data according to a synchronization data packet from the Bluetooth adapter; converting the Bluetooth synchronization point into an AP synchronization point according to a clock mapping between the Bluetooth adapter and the AP; and processing the decoded audio data according to the AP synchronization point to generate audio data ready for playback; wherein the Bluetooth adapter and the AP have different clock sources.

[0007] In some embodiments, the method further includes: periodically acquiring multiple runtimes of the Bluetooth adapter; and correspondingly periodically acquiring multiple runtimes of the AP; wherein the clock mapping is configured to record multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP.

[0008] In some embodiments, the method further includes: obtaining an average normalization factor based on multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP; wherein converting the Bluetooth synchronization point to the AP synchronization point based on the clock mapping of the Bluetooth adapter and the AP includes: converting the Bluetooth synchronization point to the AP synchronization point using a conversion function, wherein the conversion function is:

[0009]

[0010] Where Sa is the AP synchronization point, Sb is the Bluetooth synchronization point, Yan is the latest runtime of the AP in the clock mapping, Ybn is the latest runtime of the Bluetooth adapter in the clock mapping, L is the predetermined interval determined based on the AP's system clock, and D is the average normalization factor.

[0011] In some embodiments, the method further includes: updating the average normalization factor using a recursive function, the recursive function being:

[0012]

[0013] Where m is the index number, D m It is the m-th average normalization factor, D m-1 It is the (m-1)th average normalization factor, d m It is the m-th normalization factor determined based on the predetermined interval, the m-th time difference calculated from the adjacent operating time of the Bluetooth adapter, and the m-th time difference calculated from the adjacent operating time of the AP.

[0014] In some embodiments, the method further includes: the AP generating a Test Instruction Interface (TCI) instruction; the AP transmitting the TCI instruction to the Bluetooth adapter; the Bluetooth adapter obtaining its runtime after receiving the TCI instruction; and triggering the AP to read its runtime via a General Purpose Input / Output (GPIO) communication stream; wherein the clock mapping is configured to record the runtime of the Bluetooth adapter and the runtime of the AP.

[0015] In some embodiments, processing the decoded audio data according to the AP synchronization point to generate the audio data ready for playback includes: after acquiring two adjacent AP synchronization points, processing the decoded audio data according to the time difference between the two adjacent AP synchronization points to generate the audio data ready for playback.

[0016] In some embodiments, the method further includes: playing the audio data to be played at a target synchronization point; wherein the decoded audio data and the audio data to be played are audio data in Pulse Code Modulation (PCM) format, and the target synchronization point is determined based on a predetermined presentation delay and the AP synchronization point.

[0017] In a second aspect, the present invention provides a Bluetooth synchronization method applicable to an audio transmitter, wherein the audio transmitter includes a Bluetooth adapter and an application processor (AP). The method includes: obtaining a Bluetooth synchronization point from the Bluetooth adapter; converting the Bluetooth synchronization point into an AP synchronization point for the AP according to a clock mapping between the Bluetooth adapter and the AP; and processing raw audio data having a first duration to generate unencoded audio data having a predetermined second duration to an encoder, wherein the first duration is determined based on the AP synchronization point; wherein the Bluetooth adapter and the AP have different clock sources; and the audio transmitter is configured to play the raw audio data having the first duration at a target synchronization point, the target synchronization point being determined based on a predetermined presentation delay and the AP synchronization point.

[0018] In some embodiments, converting the Bluetooth synchronization point to the AP synchronization point according to the clock mapping of the Bluetooth adapter and the AP includes: using a conversion function to convert the Bluetooth synchronization point to the AP synchronization point, wherein the conversion function is:

[0019]

[0020] Where Sa is the AP synchronization point, Sb is the Bluetooth synchronization point, Yan is the latest runtime of the AP in the clock mapping, Ybn is the latest runtime of the Bluetooth adapter in the clock mapping, L is a predetermined interval determined based on the AP's system clock, and D is the average normalization factor obtained from multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP recorded in the clock mapping.

[0021] In some embodiments, the method further includes: encoding the unencoded audio data to generate encoded audio data; and transmitting the encoded audio data via the Bluetooth adapter; wherein both the original audio data and the unencoded audio data are audio data in Pulse Code Modulation (PCM) format.

[0022] Thirdly, the present invention provides a Bluetooth synchronization system, wherein the Bluetooth synchronization system includes a Bluetooth adapter and an application processor (AP) coupled to the Bluetooth adapter, the AP being configured to perform the following operations: acquiring a Bluetooth synchronization point and decoded audio data based on a synchronization data packet from the Bluetooth adapter; converting the Bluetooth synchronization point into an AP synchronization point based on a clock mapping between the Bluetooth adapter and the AP; and processing the decoded audio data based on the AP synchronization point to generate audio data ready for playback; wherein the Bluetooth adapter and the AP are located in the audio receiver of the Bluetooth synchronization system, and the Bluetooth adapter and the AP have different clock sources.

[0023] In some embodiments, the AP is further configured to perform the following operations: periodically acquire multiple runtimes of the Bluetooth adapter; and correspondingly periodically acquire multiple runtimes of the AP; wherein the clock mapping is configured to record multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP.

[0024] In some embodiments, the AP is further configured to: obtain an average normalization factor based on multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP; wherein the AP is configured to convert the Bluetooth synchronization point into an AP synchronization point using a conversion function, the conversion function being:

[0025]

[0026] Where Sa is the AP synchronization point, Sb is the Bluetooth synchronization point, Yan is the latest running time recorded for the AP in the clock mapping, Ybn is the latest running time recorded for the Bluetooth adapter in the clock mapping, L is the predetermined interval determined based on the AP's system clock, and D is the average normalization factor.

[0027] In some embodiments, the AP is further configured to update the average normalization factor using a recursive function, which is:

[0028]

[0029] Where m is the index number, D m It is the m-th average normalization factor, D m-1 It is the (m-1)th average normalization factor, d m It is the m-th normalization factor determined based on the predetermined interval, the m-th time difference between two adjacent running times of the Bluetooth adapter, and the m-th time difference between two adjacent running times of the AP.

[0030] In some embodiments, the AP is further configured to: generate a Test Instruction Interface (TCI) instruction and send the TCI instruction to the Bluetooth adapter; the Bluetooth adapter is configured to: obtain the runtime of the Bluetooth adapter after receiving the TCI instruction; and trigger the AP to read the runtime of the AP through a General Purpose Input / Output (GPIO) communication stream; wherein the clock mapping is configured to record the runtime of the Bluetooth adapter and the runtime of the AP.

[0031] In some embodiments, the AP is further configured to: after acquiring two adjacent AP synchronization points, process the decoded audio data according to the time difference between the two adjacent AP synchronization points to generate the audio data ready for playback.

[0032] In some embodiments, the AP is further configured to play the audio data to be played at a target synchronization point; wherein the decoded audio data and the audio data to be played are audio data in Pulse Code Modulation (PCM) format, and the target synchronization point is generated based on a predetermined presentation delay and the AP synchronization point.

[0033] In some embodiments, the system further includes another Bluetooth adapter and another AP coupled to the other Bluetooth adapter, wherein the other AP is configured to perform the following operations: obtain a Bluetooth synchronization point from the other Bluetooth adapter; convert the Bluetooth synchronization point of the other Bluetooth adapter into an AP synchronization point of the other AP according to a clock mapping of the other Bluetooth adapter and the other AP; and process raw audio data having a first duration to generate unencoded audio data having a predetermined second duration to an encoder, wherein the first duration is determined according to the AP synchronization point of the other AP; wherein the other Bluetooth adapter and the other AP are located in the audio receiver of the Bluetooth synchronization system and have different clock sources, and the audio transmitter is configured to play the raw audio data having the first duration at a target synchronization point, the target synchronization point being determined according to a predetermined presentation delay and the AP synchronization point.

[0034] In some embodiments, the other AP is further configured to use a conversion function to convert the Bluetooth synchronization point of the other Bluetooth adapter into the AP synchronization point of the other AP, wherein the conversion function is:

[0035]

[0036] Where Sa is the AP synchronization point of the other AP, Sb is the Bluetooth synchronization point of the other Bluetooth adapter, Yan is the latest runtime recorded for the other AP in the other clock mapping, Ybn is the latest runtime recorded for the other Bluetooth adapter in the other clock mapping, L is a predetermined interval determined based on the system clock of the other AP, and D is the average normalization factor obtained based on multiple runtimes of the other Bluetooth adapter and multiple runtimes of the other AP recorded in the other clock mapping.

[0037] In some embodiments, the other AP is further configured to perform the following operations: encode the unencoded audio data to generate encoded audio data; and transmit the encoded audio data via the other Bluetooth adapter; wherein the original audio data and the unencoded audio data are audio data in Pulse Code Modulation (PCM) format.

[0038] These and other objects of the invention will be readily understood by those skilled in the art upon reading the following detailed description of the preferred embodiments illustrated in the accompanying drawings. A detailed description will be given in the following embodiments with reference to the accompanying drawings. [Attached Image Description]

[0039] Figure 1 and Figure 2 This is a block diagram of a Bluetooth synchronization system according to an embodiment of the present disclosure.

[0040] Figure 3 yes Figure 1 and Figure 2 A schematic diagram of the signal format of the audio receiver in the Bluetooth synchronization system.

[0041] Figure 4 yes Figure 1 and Figure 2 A schematic diagram of the signal format of the audio transmitter in the Bluetooth synchronization system.

[0042] Figure 5 yes Figure 1 and Figure 2 A schematic diagram of the signal flow of the Bluetooth synchronization system acquiring at least one runtime of the Bluetooth adapter and the AP.

[0043] Figure 6 It is based on Figure 1 and Figure 2 A schematic diagram of clock mapping to generate AP synchronization points in a Bluetooth synchronization system.

[0044] Figure 7 yes Figure 1 and Figure 2 The logical structure diagram of the clock mapping processing module of the Bluetooth synchronization system is used to derive the average normalization factor.

[0045] Figure 8 yes Figure 1 and Figure 2 A schematic diagram of the operation of the audio data processing module of the Bluetooth synchronization system.

[0046] Figure 9 yes Figure 1 and Figure 2 A flowchart illustrating the Bluetooth synchronization method executed by the audio receiver in the Bluetooth synchronization system.

[0047] Figure 10 yes Figure 1 and Figure 2 A flowchart illustrating the Bluetooth synchronization method executed by the audio transmitter in the Bluetooth synchronization system.

Detailed Implementation Methods

[0048] The following description illustrates preferred embodiments of the present invention and is intended only to exemplify the technical features of the invention, not to limit the scope of the invention. Throughout this specification and claims, certain terms are used to refer to specific elements. Those skilled in the art should understand that manufacturers may use different names for the same element. Therefore, this specification and claims do not distinguish elements by differences in name, but rather by differences in function. The terms "element," "system," and "device" used in this invention can refer to computer-related entities, where the computer can be hardware, software, or a combination of hardware and software. The terms "comprising" and "including" as used in the following description and claims are open-ended terms and should be interpreted as "comprising, but not limited to...". Furthermore, the term "coupled" refers to an indirect or direct electrical connection. Therefore, if a device is described as coupled to another device, it means that the device can be directly electrically connected to the other device, or indirectly electrically connected to the other device through other devices or connection means.

[0049] In Bluetooth (BT) audio devices, multiple clock sources may exist. Asynchronous clocks between different clock sources often lead to poor synchronization of audio playback. This invention proposes a synchronization method solution that enables multiple audio receivers and / or transmitters to synchronize audio playback with higher accuracy. For example, the synchronization standard is within ±125 microseconds (µs). This invention applies to scenarios where audio devices (e.g., audio receivers and / or transmitters) include a Bluetooth dongle and an application processor (AP), wherein the Bluetooth dongle and the application processor each have independent clock sources; that is, the Bluetooth dongle and the application processor have different clock sources. For example, the Bluetooth dongle and the AP are two separate chips. In this embodiment, the Bluetooth dongle can be a Bluetooth transceiver chip capable of transmitting and receiving Bluetooth signals. The application processor (AP) is integrated into a System on Chip (SoC) for managing the overall operation of the audio device. The audio device of this invention refers to any device that can receive or transmit audio via a Bluetooth connection. Examples of such devices include Bluetooth speakers as audio receivers and smartphones as audio transmitters. These devices are designed to seamlessly integrate Bluetooth adapters and access points, providing users with a comprehensive wireless audio experience.

[0050] Figure 1 and Figure 2 This is a block diagram of a Bluetooth synchronization system 100 according to an embodiment of the present disclosure. The Bluetooth synchronization system 100 can be divided into two parts, for example... Figure 1 The receiver (RX) 20 and Figure 2 The transmitter (TX) 10 is used to receive audio data from the transmitter (TX). The receiver (RX) 20 is used to transmit audio data to the receiver (RX) 20. Figure 1 In this configuration, receiver (RX) 20 includes a Bluetooth adapter 21 and an application processor (AP) 22, wherein the Bluetooth adapter 21 and AP 22 each have independent clock sources, meaning they have different clock sources. AP 22 is coupled to Bluetooth adapter 21. Clock information (e.g., runtime, described later) can be transmitted from Bluetooth adapter 21 to AP 22 via a general-purpose input / output (GPIO) communication stream. In one example, at predetermined intervals, AP 22 sends a test commands interface (TCI) command to Bluetooth adapter 21 via a bus interface (e.g., USB, SDIO, etc.) to trigger Bluetooth adapter 21 to read its runtime. In response to receiving the TCI command, Bluetooth adapter 21 reads its runtime (hereinafter referred to as BT runtime for simplicity) and sets the power level of the GPIO interface to a predetermined level (e.g., sets the GPIO interface high). In one example, the power level can be a voltage level or a current level. Therefore, when the GPIO interface detects a predetermined power level, AP 22 immediately reads its own runtime (hereinafter referred to as AP runtime for simplicity). On the other hand, Bluetooth adapter 21 transmits the acquired BT runtime back to AP 22 via the bus interface. In this way, over time, AP 22 periodically or at predetermined intervals (e.g., every 1 second) acquires a set of BT runtimes and corresponding AP runtimes, thereby establishing a clock map between Bluetooth adapter 21 and AP 22. It should be noted that the predetermined intervals are based on the AP's clock source.

[0051] AP 22 includes a decoder 22a, an audio data handler module 22b, a clock map handler module 22c, and an audio playback module 22d. In receiver (RX) 20, AP 22 can obtain a Bluetooth synchronization point based on isochronous (ISO) data packets from Bluetooth adapter 21. For example, decoder 22a is configured to parse and decode ISO data packets from Bluetooth adapter 21 to obtain the Bluetooth synchronization point (e.g., which is provided to clock map handler module 22c) and decoded audio data (e.g., which is provided to audio data handler module 22b). In other words, the Bluetooth synchronization point (which can be obtained based on the header portion of the ISO data packet) and the decoded audio data (which can be obtained based on the payload portion of the ISO data packet) can be obtained based on the ISO data packet. It should be noted that the audio data described in this disclosure refers to packetized audio data (i.e., audio data in packets, each packet having a certain duration), meaning that audio data with a certain duration can be obtained from an ISO data packet. Then, AP 22 (specifically, clock mapping processing module 22c) converts the Bluetooth synchronization point to the AP synchronization point of AP 22 according to the clock mapping of Bluetooth adapter 21 and AP 22. Then, AP 22 (specifically, audio processing module 22b) can process the decoded audio data according to the AP synchronization point (e.g., according to two adjacent AP synchronization points) to generate playback-ready audio data, for example, by using a data compensation compression algorithm. Therefore, in receiver (RX) 20, the audio data can be synchronized to avoid under-run or over-run problems caused by different clocks of AP 22 and Bluetooth adapter 21. Therefore, by adopting the scheme proposed in this disclosure, when multiple receivers are used, they can still synchronize audio outputs, even though each receiver includes an AP and a Bluetooth adapter with different clock sources, thereby enhancing the user experience.

[0052] exist Figure 2In this embodiment, transmitter (TX) 10 includes AP 12 and Bluetooth adapter 11. AP 12 is coupled to Bluetooth adapter 11. As described above, clock information (e.g., runtime, described later) can also be transmitted from Bluetooth adapter 11 to AP 12 via GPIO communication stream. AP 12 may include encoder 12a, audio data processing module 12b, clock mapping processing module 12c, and audio playback module 12d. In the proposed scheme, AP (12 or 22) can obtain audio data intervals (referred to as PCM intervals) and synchronization (ISO) data intervals (referred to as ISO intervals). In this embodiment, the synchronization data interval is a predetermined value or duration (e.g., 30ms), which can be obtained in advance through negotiation between transmitter 10 and receiver 20, or is a stored value, or is a preset value defined by a standard, etc., and the present invention is not limited thereto. For example, the synchronization data interval may refer to the time interval between two consecutive ISO data (which may correspond to the payload portion of an ISO data packet). In one example, the synchronization data interval may also be considered as the duration of a packet of ISO data. Although the ISO data interval is fixed and predetermined, its value is timed based on the clock source of the Bluetooth adapter, since the ISO data is processed data by the Bluetooth adapter. Furthermore, the audio data interval is dynamically obtained based on the synchronization points of adjacent APs. In one example, the audio data interval can be considered as the duration of a single packet of audio data (e.g., the raw audio data or decoded audio data described later), which in practice might be 29.9 ms, 30.1 ms, 29.95 ms, 30.05 ms, etc. In the disclosed embodiments, the raw audio data in transmitter 10 and / or the decoded audio data in receiver 20 can be adjusted based on the ISO data interval and the audio data interval (e.g., using data compensation compression algorithms or audio insertion and deletion techniques, etc.) to mitigate audio synchronization problems caused by the lack of clock source synchronization between the AP and the Bluetooth adapter.

[0053] In transmitter (TX) 10, AP 12 (specifically, clock mapping processing module 12c) can obtain a Bluetooth synchronization point from Bluetooth adapter 11 and convert the Bluetooth synchronization point obtained from Bluetooth adapter 11 into an AP synchronization point for AP 12 according to the clock mapping between Bluetooth adapter 11 and AP 12. In one embodiment, for transmitter 10, a first Bluetooth synchronization point can be obtained from Bluetooth adapter 11, and then the next Bluetooth synchronization point Yb(n+1) can be determined based on the previous Bluetooth synchronization point Yb(n) and the ISO data interval, for example, Yb(n+1) = Yb(n) + ISO data interval, where n is an index representing a positive integer. AP 12 (specifically, audio data processing module 12b) can obtain raw audio data with a first duration from a buffer (e.g., which may be located within audio playback module 12d), wherein the first duration is determined based on two adjacent AP synchronization points. Then, AP 12 (specifically, audio data processing module 12b) can process the raw audio data having a first duration to generate unencoded audio data having a predetermined second duration (i.e., ISO data interval value). Furthermore, the unencoded audio data is encoded by encoder 12a, and the encoded audio data is sent to Bluetooth adapter 11. On the other hand, the raw audio data having the first duration is played by audio playback module 12d of AP 12 to play sound at a target synchronization point. Here, the target synchronization point can be defined as a predetermined presentation delay from AP 12's AP synchronization point. Therefore, in the transmitter (TX) of Bluetooth synchronization system 100, audio data can be synchronized to avoid underload or overload problems due to different clocks of AP 12 and Bluetooth adapter 11. In the proposed scheme, transmitter (TX) 10 and receiver (RX) 20 can also play sound simultaneously.

[0054] Figure 3This is a schematic diagram of the signal format of the receiver (RX) 20 of the Bluetooth synchronization system 100. As previously described, the AP 22 includes a decoder 22a, an audio data processing module 22b, a clock mapping processing module 22c, and an audio playback module 22d. For example, the Bluetooth adapter 21 can continuously output synchronization (ISO) data packets. For a single ISO data packet, the Bluetooth synchronization point can be determined based on the relevant information carried in the header of the ISO data packet, and the decoded audio data can be obtained based on the payload portion of the ISO data packet. In this exemplary embodiment, the decoder 22a of the AP 22 parses and decodes the synchronization data packets to generate the corresponding Bluetooth synchronization point and the decoded audio data, respectively. Here, the decoded audio data can be data in pulse code modulation (PCM) format. However, the present invention is not limited to the PCM format. Any reasonable format is within the scope of this disclosure. The decoded audio data (e.g., PCM format) is input to the audio data processing module 22b of the AP 22. The Bluetooth synchronization point is input to the clock mapping processing module 22c of the AP 22. In AP 22, the clock mapping processing module 22c can obtain the runtime of Bluetooth adapter 21 and AP 22 to generate clock mapping 22c_1. For example, the clock mapping processing module 22c can periodically obtain multiple runtimes of Bluetooth adapter 21 and multiple runtimes of AP 22, as shown in clock mapping 22c_1 in Table T1.

[0055]

[0056] Table T1

[0057] After obtaining clock mapping 22c_1, the clock mapping processing module 22c can convert the Bluetooth synchronization point into an AP synchronization point according to the clock mapping of the Bluetooth adapter and the AP. Then, the audio data processing module 22b can process the decoded audio data according to the converted AP synchronization point to generate audio data ready for playback to the audio playback module 22d. It should be noted that the decoded audio data can be processed using data compression or data expansion methods to generate audio data ready for playback, thereby avoiding underload or overload problems under different clocks of AP 22 and Bluetooth adapter 21. For example, assuming the predetermined ISO data interval is 30ms, ideally, the duration of each decoded audio data is fixed, for example, 30ms. However, since the Bluetooth adapter and AP have different clock sources, the time difference between two adjacent AP synchronization points (or the time difference between two adjacent target synchronization points) may not always be equal to the ISO data interval; for example, the time difference may be 29.9ms, 30.1ms, 29.95ms, etc. Therefore, before playback, the decoded audio data is processed using data compression or data expansion methods to avoid underload or overload problems under different clocks of AP 22 and Bluetooth adapter 21. The decoded audio data or the audio data to be played can be PCM format data. In this embodiment, the audio playback module 22d of AP 22 is configured to play the audio data to be played to play sound at a target synchronization point. In one example, the audio data to be played can be a PCM data packet, but the invention is not limited thereto. Here, the target synchronization point can be defined as a predetermined presentation delay from the AP synchronization point, for example, target synchronization point = AP synchronization point + predetermined presentation delay. The presentation delay can be considered as reserved processing time. Therefore, the synchronization data packet and the audio data to be played can be fully synchronized between different chips (e.g., Bluetooth adapter 21 and AP 22). Thus, when multiple audio devices are applied, multiple audio receivers receive the same synchronization data packet from the same audio transmitter and can simultaneously produce sound or play audio.

[0058] Figure 4 This is a schematic diagram of the signal format of the transmitter (TX) 10 of the Bluetooth synchronization system 100. As previously mentioned, the AP 12 includes an encoder 12a, an audio data processing module 12b, a clock mapping processing module 12c, and an audio playback module 12d. In the AP 12, the clock mapping processing module 12c can periodically acquire multiple runtimes of the Bluetooth adapter 11 and the AP 12 to generate a clock mapping 12c_1. For example, the clock mapping processing module 12c can periodically acquire multiple runtimes of the Bluetooth adapter 11 and the AP 12, as shown in Table T2, which represents the clock mapping 12c_1.

[0059]

[0060] Table T2

[0061] After obtaining clock mapping 12c_1, clock mapping processing module 12c can convert the Bluetooth synchronization point of Bluetooth adapter 11 into the AP synchronization point of AP 12. Then, AP 12 can derive its target synchronization point based on the AP synchronization point and a predetermined presentation delay. For example, clock mapping processing module 12c can convert Bluetooth synchronization point Sb into AP synchronization point Sa (detailed derivation will be explained later). It should be noted that raw audio data can be processed using data compression or data expansion methods to avoid underload or overload problems under different clocks of AP 12 and Bluetooth adapter 11. In one embodiment, AP 12 is able to obtain audio data intervals and synchronization data intervals, as described above. AP 12 can acquire (or read) raw audio data with a first duration from a buffer, wherein the first duration is determined according to the corresponding audio data interval. AP 12 can then process the raw audio data to generate unencoded audio data with a second duration (which is equal to the synchronization data interval), for example, by using data compression or data expansion methods. The raw audio data or unencoded audio data can be PCM format data. After obtaining the unencoded audio data, the unencoded audio data is encoded by encoder 12a and then transmitted to Bluetooth adapter 11. Specifically, the raw audio data with a first duration is processed by the audio playback module 12d of AP 12 to play sound at a target synchronization point. Here, the target synchronization point can be defined by a preset presentation delay from the AP synchronization point. Therefore, using the proposed scheme, transmitter (TX) 10 and receiver (RX) 20 can play sound simultaneously. In practice, the duration of the raw audio data may be equal to 29.9ms, 29.95ms, or 30.05ms. Therefore, audio data processing module 12b can process raw audio data with different durations into “adjusted” audio data (referred to herein as “unencoded audio data”, since it will be provided to the encoder for encoding) with a predetermined duration (e.g., 30ms). Here, the raw audio data or unencoded audio data can be PCM format data, and the encoded audio data can be data in another format. In one embodiment, after a target synchronization point (e.g., the first target synchronization point) is obtained and the sound is played, the audio playback module 12d can then be configured to play the audio sequentially at a fixed sampling rate.

[0062] Figure 5This is a schematic diagram illustrating the signal flow for obtaining at least one runtime of Bluetooth adapter 21 and at least one runtime of AP 22 in Bluetooth synchronization system 100. As previously mentioned, clock mapping can be generated by obtaining clock information from different chips. For example, in Figure 5 In this configuration, the Bluetooth stack of AP 22 can generate Test Instruction Interface (TCI) instructions. The Bluetooth stack can then transmit the TCI instructions to the controller of Bluetooth adapter 21 (e.g., a microcontroller unit, MCU). The TCI instructions trigger the controller to read the clock information of Bluetooth adapter 21 (denoted as BTCLK). Therefore, Bluetooth adapter 21 can obtain its runtime upon receiving the TCI instructions. Bluetooth adapter 21 can then trigger the Bluetooth driver of AP 22 via GPIO communication streams, causing AP 22 to read its runtime. For example, after triggering the Bluetooth driver of AP 22, the runtime of AP 22 can be obtained (denoted as APTS). Finally, the Bluetooth stack of AP 22 obtains the clock information (e.g., runtime) of both Bluetooth adapter 21 and AP 22. Therefore, AP 22 can obtain the clock information of both Bluetooth adapter 21 and AP 22 through this method. It is understood that the Bluetooth stack, Bluetooth driver, and controller of the Bluetooth adapter of AP 22 are used to implement the functions of different layers in the Bluetooth protocol. The signal flow of transmitter (TX) 10 is similar to that of receiver (RX) 20. Therefore, similar details are omitted here.

[0063] Figure 6 This is a schematic diagram illustrating the generation of the AP synchronization point Sa based on the clock mapping 22c_1 of the Bluetooth synchronization system 100. Figure 6In the diagram, the x-axis represents the golden (standard) time axis. The y-axis represents the chip's operating time axis. The line with a slope of 1 represents the standard golden time line GSL. The AP's operating time line CAP and the Bluetooth adapter's operating time line CBT are two operating time lines with different slopes. When the golden time equals X1, the operating time of Bluetooth adapter 21 equals Yb1, and the operating time of AP 22 equals Ya1. When the golden time equals X2, the operating time of Bluetooth adapter 21 equals Yb2, and the operating time of AP 22 equals Ya2. Similarly, when the golden time equals Xn, the operating time of Bluetooth adapter 21 equals Ybn, and the operating time of AP 22 equals Yan. Here, the clock information [Yb1, Ya1], [Yb2, Ya2], ..., [Ybn, Yan] is obtained periodically at predetermined intervals, where the predetermined interval can be represented by L. For example, L can be 1 second. It should be noted that in some embodiments of this disclosure, AP 22 is configured to periodically trigger Bluetooth adapter 21 to read the running / operational / system time of Bluetooth adapter 21. Therefore, the predetermined interval L is determined based on the system clock of AP 22. Figure 6 In the above, the Bluetooth synchronization point Sb of Bluetooth adapter 21 can be converted to the AP synchronization point Sa of AP 22 using the following conversion function:

[0064]

[0065] Where Sa is the AP synchronization point of AP 22, and Sb is the Bluetooth synchronization point obtained from Bluetooth adapter 21. Yan is the latest running time of AP 22 in the clock mapping. Ybn is the latest running time of Bluetooth adapter 21 in the clock mapping. L is the predetermined interval. D is the average normalization factor. The derivation details of the average normalization factor D are as follows. After AP 22 obtains multiple running times of Bluetooth adapter 21 (i.e., Yb1, Yb2...) and multiple running times of AP 22 (i.e., Ya1, Ya2...), the clock mapping processing module 22c can obtain the average normalization factor D through the following derivation process:

[0066] 1. delta=[(Ya2-Ya1)-(Yb2-Yb1)]

[0067] 2.

[0068] 3. Continuously average d to update the average normalization factor D.

[0069] Therefore, the average normalization factor D can be considered as a moving average of multiple runtimes (Yb1, Yb2, ...) and multiple runtimes (Ya1, Ya2, ...). Since the average normalization factor D can be considered a moving average, it can filter out jitter errors in the chip runtime distribution. Here, jitter errors may be introduced by time differences in acquiring the chip clock, or by unstable clock jitter of the chip. Any technical or hardware modifications fall within the scope of this disclosure.

[0070] Similarly, for transmitter (TX) 10, AP 12 can use a conversion function (Eq1) to convert the Bluetooth synchronization point obtained from Bluetooth adapter 11 into an AP synchronization point for AP 12. In transmitter (TX) 10, D is an average normalization factor obtained based on multiple runtimes of Bluetooth adapter 11 and multiple runtimes of AP 12. Since the derivation of transmitter (TX) 10 is similar to that of receiver (RX) 20, its derivation details are omitted here.

[0071] Figure 7 This is a schematic diagram of the logical structure of the clock mapping processing module 22c of the Bluetooth synchronization system 100, used to derive the average normalization factor D. The clock mapping processing module 22c may include a first operation unit OP1, a second operation unit OP2, a third operation unit OP3, a fourth operation unit OP4, a fifth operation unit OP5, and a moving average module 30. The first operation unit OP1 subtracts the "previous" running time Yb1 of the Bluetooth adapter 21 from its "current" running time Yb2, outputting Yb2-Yb1. The second operation unit OP2 subtracts the "previous" running time Ya1 of the AP 22 from its "current" running time Ya2, outputting Ya2-Ya1. The third operation unit OP3 obtains the difference delta between Ya2-Ya1 and Yb2-Yb1, where delta = (Ya2-Ya1) - (Yb2-Yb1). The fourth operation unit OP4 is used to multiply the difference delta between Ya2-Ya1 and Yb2-Yb1 by a predetermined interval L to obtain delta*L. The fifth operation unit OP5 is used to normalize delta*L to obtain (delta*L) / (Yb2-Yb1). It can be understood that (delta*L) / (Yb2-Yb1) can be expressed in the following general closed form:

[0072]

[0073] Where delta(m) = [Ya(m+1)-Ya(m)]-[Yb(m+1)-Yb(m)], m is the sliding window index, representing a positive integer.

[0074] In one embodiment, the moving average module 30 is used to average dm for all m. Therefore, the average normalization factor D... m It can be represented as:

[0075] in,

[0076] In another embodiment, the average normalization factor D can be obtained recursively. In other words, the average normalization factor D m Based on the previous average normalization factor D m-1 and the newly acquired d m The update is performed, and the update equation is as follows:

[0077]

[0078] By updating the average normalization factor D recursively, additional memory usage can be minimized. After obtaining the average normalization factor D, the AP synchronization point Sa of AP 22 can be derived through equation (Eq1). Furthermore, the target synchronization point T can be defined as:

[0079] T = Sa + PD

[0080] Here, PD is a given presentation delay. Furthermore, the structure and derivation of the transmitter (TX) are similar to those of the receiver (RX), therefore such details are omitted.

[0081] Figure 8This is an operational schematic diagram of the audio data processing module 22b of the Bluetooth synchronization system 100. The audio data processing module 22b can utilize audio data compression or expansion technology to convert decoded audio data with a synchronization data interval (LBT) into audio data ready for playback with an audio data interval (LAP). For example, if Sb(m) represents the Bluetooth synchronization point of the m-th decoded audio data, then the next Bluetooth synchronization point Sb(m+1) can be expressed as Sb(m+1) = Sb(m) + synchronization data interval (LBT). As mentioned earlier, the AP synchronization point Sa(m) of the m-th audio data ready for playback can be derived from Sb(m) according to equation (Eq1). Furthermore, the AP synchronization point Sa(m+1) of the (m+1)-th audio data ready for playback can be derived from Sb(m+1) according to equation (Eq1). Since the AP synchronization points Sa(m) and Sa(m+1) can be derived, the audio data interval (LAP) can be obtained through Sa(m+1) - Sa(m). It should be understood that the synchronization data interval LBT and the audio data interval LAP may not always be the same (i.e., they may differ because the Bluetooth adapter and the application processor have different clock sources). For example, assuming the synchronization data interval LBT is 30ms, however, in practice, since the Bluetooth adapter and the AP each have their own independent clock sources, the audio data interval LAP may vary slightly, such as 29.9ms, 30.1ms, 29.95ms, 30.05ms, etc. When the audio data interval LAP is longer than the synchronization data interval LBT, the decoded audio data is extended to generate the audio data ready for playback. When the audio data interval LAP is shorter than the synchronization data interval LBT, the decoded audio data is compressed to generate the audio data ready for playback. In other words, in the embodiments of this disclosure, the AP 22 generates the audio data ready for playback from the decoded audio data based on the obtained AP synchronization point. The audio data to be played is generated based on the synchronization data interval LBT (e.g., the synchronization data interval LBT can be a predefined value, such as 30ms or 20ms) and the audio data interval LAP (e.g., calculated based on the synchronization points of two adjacent APs). It should be noted that any reasonable modifications should be within the scope of this disclosure. Furthermore, the conversion between the raw audio data and unencoded audio data at the transmitter (TX) is similar to the conversion at the receiver (RX) and has been described in the foregoing embodiments. Therefore, its details are omitted here.

[0082] Figure 9 This is a flowchart illustrating the Bluetooth synchronization method executed by the receiver (RX) 20 of the Bluetooth synchronization system 100. The Bluetooth synchronization method (executed by the receiver (RX) 20) may include steps S901 to S903. Any reasonable modifications based on this should be within the scope of this disclosure. Steps S901 to S903 are shown below.

[0083] Step S901: Obtain the Bluetooth synchronization point and decoded audio data based on the synchronization data packet from Bluetooth adapter 21.

[0084] Step S902: Based on the clock mapping between Bluetooth adapter 21 and AP 22, convert the Bluetooth synchronization point obtained from Bluetooth adapter 21 into the AP synchronization point of AP 22.

[0085] Step S903: Based on the AP synchronization point, process the decoded audio data to generate audio data ready for playback.

[0086] The details of steps S901 to S903 have been described previously and are therefore omitted here. In the receiver (RX) 20 of the Bluetooth synchronization system 100, the synchronization data packet and the audio data ready for playback are synchronized. The target synchronization point is defined by the delay from the AP synchronization point. Therefore, even if the Bluetooth synchronization system 100 uses multicast (broadcast) communication or unicast communication, the speakers of all audio receivers can play sound simultaneously.

[0087] Figure 10 This is a flowchart illustrating the Bluetooth synchronization method executed by the transmitter (TX) 10 of the Bluetooth synchronization system 100. The Bluetooth synchronization method (executed by the transmitter (TX) 10) may include steps S1001 to S1003. Any reasonable modifications should be made within the scope of this disclosure. Steps S1001 to S1003 are as follows.

[0088] Step S1001: Obtain a Bluetooth synchronization point from Bluetooth adapter 11;

[0089] Step S1002: Based on the clock mapping between the Bluetooth adapter and the AP, the Bluetooth synchronization point obtained from the Bluetooth adapter 11 is converted into the AP synchronization point of the AP 12.

[0090] Step S1003: Process the raw audio data having a first duration to generate unencoded audio data having a predetermined second duration to encoder 12a, wherein the first duration is determined based on the AP synchronization point.

[0091] The details of steps S1001 to S1003 have been described previously and are therefore omitted here. In the transmitter (TX) 10 of the Bluetooth synchronization system 100, the synchronization data packets and the transmitter's audio data packets are synchronized. The target synchronization point is defined by the delay from the AP synchronization point. Therefore, the transmitter (TX) 10 and the receiver (RX) 20 can play sound simultaneously.

[0092] In summary, this disclosure presents a Bluetooth synchronization method and a Bluetooth synchronization system. The Bluetooth synchronization system can be applied to auracast or unicast communication using the Bluetooth LE audio standard. In the Bluetooth synchronization system, the synchronization data packets and the audio data to be played are synchronized. Therefore, in the receiver, since the audio playback module can accurately output sound data according to the target synchronization point, the speakers of all audio receivers can play sound simultaneously. Furthermore, the transmitter and receiver can also play sound simultaneously.

[0093] While the invention has been described by way of example and according to preferred embodiments, it should be noted that the invention is not limited to the disclosed embodiments. Rather, it is intended to cover various variations and similar structures (as will be apparent to those skilled in the art), such as combinations or substitutions of different features in different embodiments. Therefore, the scope of the appended claims should be given the broadest interpretation to cover all such variations and similar structures.

Claims

1. A Bluetooth synchronization method applicable to an audio receiver, wherein, The audio receiver includes a Bluetooth adapter and an application processor (AP), and the method includes: The Bluetooth synchronization point and decoded audio data are obtained based on the synchronization data packet from the Bluetooth adapter. Based on the clock mapping between the Bluetooth adapter and the AP, the Bluetooth synchronization point is converted into the AP synchronization point; and The decoded audio data is processed according to the AP synchronization point to generate audio data ready for playback; The Bluetooth adapter and the AP have different clock sources.

2. The method as described in claim 1, wherein, The method also includes: Periodically obtain multiple runtime data for this Bluetooth adapter; and Accordingly, the runtime of the AP is periodically obtained; The clock mapping is configured to record multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP.

3. The method as described in claim 2, wherein, The method also includes: The average normalization factor is obtained based on multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP; The process of converting the Bluetooth synchronization point into the AP synchronization point based on the clock mapping between the Bluetooth adapter and the AP includes: Use a conversion function to convert this Bluetooth sync point to this AP sync point. The conversion function is as follows: Where Sa is the AP synchronization point, Sb is the Bluetooth synchronization point, Yan is the latest runtime of the AP in the clock mapping, Ybn is the latest runtime of the Bluetooth adapter in the clock mapping, L is the predetermined interval determined based on the AP's system clock, and D is the average normalization factor.

4. The method of claim 3, wherein, The method also includes: Update the average normalization factor using a recursive function, which is: Where m is the index number, D m It is the m-th average normalization factor, D m-1 It is the (m-1)th average normalization factor, d m It is the m-th normalization factor determined based on the predetermined interval, the m-th time difference calculated from the adjacent operating time of the Bluetooth adapter, and the m-th time difference calculated from the adjacent operating time of the AP.

5. The method of claim 1, wherein, The method also includes: The AP generates test instruction interface (TCI) instructions; The AP transmits the TCI command to the Bluetooth adapter; After receiving the TCI command, the Bluetooth adapter obtains its runtime; and The AP's runtime is read by triggering the general purpose input / output (GPIO) communication stream; The clock mapping is configured to record the runtime of the Bluetooth adapter and the runtime of the AP.

6. The method of claim 1, wherein, The decoded audio data is processed according to the AP synchronization point to generate the audio data ready for playback, including: After acquiring two adjacent AP synchronization points, the decoded audio data is processed according to the time difference between these two adjacent AP synchronization points to generate the audio data ready for playback.

7. The method of claim 6, wherein, The method also includes: Play the audio data that is about to be played at the target synchronization point; The decoded audio data and the audio data to be played are Pulse Code Modulation (PCM) format audio data, and the target synchronization point is determined based on a predetermined presentation delay and the AP synchronization point.

8. A Bluetooth synchronization method suitable for an audio transmitter, wherein, The audio transmitter includes a Bluetooth adapter and an application processor (AP), and the method includes: Obtain the Bluetooth synchronization point from the Bluetooth adapter; Based on the clock mapping between the Bluetooth adapter and the AP, the Bluetooth synchronization point is converted into the AP synchronization point; and The raw audio data having a first duration is processed to generate unencoded audio data having a predetermined second duration to the encoder, wherein the first duration is determined based on the AP synchronization point; The Bluetooth adapter and the AP have different clock sources, and the audio transmitter is configured to play the raw audio data with a first duration at a target synchronization point, which is determined based on a predetermined presentation delay and the AP synchronization point.

9. The method of claim 8, wherein, The Bluetooth synchronization point is converted into the AP synchronization point based on the clock mapping of the Bluetooth adapter and the AP, including: Use a conversion function to convert this Bluetooth sync point to this AP sync point. The conversion function is as follows: Where Sa is the AP synchronization point, Sb is the Bluetooth synchronization point, Yan is the latest runtime of the AP in the clock mapping, Ybn is the latest runtime of the Bluetooth adapter in the clock mapping, L is a predetermined interval determined based on the AP's system clock, and D is the average normalization factor obtained from multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP recorded in the clock mapping.

10. The method of claim 9, wherein, The method also includes: Encode the unencoded audio data to generate encoded audio data; and The encoded audio data is sent via the Bluetooth adapter; Both the raw audio data and the unencoded audio data are Pulse Code Modulation (PCM) format audio data.

11. A Bluetooth synchronization system, wherein, The Bluetooth synchronization system includes a Bluetooth adapter and an application processor (AP) coupled to the Bluetooth adapter, the AP being configured to perform the following operations: The Bluetooth synchronization point and decoded audio data are obtained based on the synchronization data packet from the Bluetooth adapter. Based on the clock mapping between the Bluetooth adapter and the AP, the Bluetooth synchronization point is converted into the AP synchronization point of the AP; as well as The decoded audio data is processed according to the AP synchronization point to generate audio data ready for playback; The Bluetooth adapter and the AP are located in the audio receiver of the Bluetooth synchronization system, and the Bluetooth adapter and the AP have different clock sources.

12. The system of claim 11, wherein, The AP is also configured to perform the following operations: Periodically obtain multiple runtime data for this Bluetooth adapter; as well as Accordingly, the runtime of the AP is periodically obtained; The clock mapping is configured to record multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP.

13. The system of claim 12, wherein, The AP is also configured to obtain an average normalization factor based on multiple runtimes of the Bluetooth adapter and multiple runtimes of the AP; The AP is configured to use a conversion function to convert the Bluetooth synchronization point to the AP synchronization point. This conversion function is: Where Sa is the AP synchronization point, Sb is the Bluetooth synchronization point, Yan is the latest running time recorded for the AP in the clock mapping, Ybn is the latest running time recorded for the Bluetooth adapter in the clock mapping, L is the predetermined interval determined based on the AP's system clock, and D is the average normalization factor.

14. The system of claim 13, wherein, The AP is also configured to update the average normalization factor using a recursive function, which is: Where m is the index number, D m It is the m-th average normalization factor, D m-1 It is the (m-1)th average normalization factor, d m It is the m-th normalization factor determined based on the predetermined interval, the m-th time difference between two adjacent running times of the Bluetooth adapter, and the m-th time difference between two adjacent running times of the AP.

15. The system of claim 11, wherein, The AP is also configured to generate Test Command Interface (TCI) commands and send the TCI commands to the Bluetooth adapter. The Bluetooth adapter is configured to obtain the running time of the Bluetooth adapter upon receiving the TCI command; as well as The AP's runtime is read by triggering the general purpose input / output (GPIO) communication stream; The clock mapping is configured to record the runtime of the Bluetooth adapter and the runtime of the AP.

16. The system of claim 11, wherein, The AP is further configured as follows: After acquiring two adjacent AP synchronization points, the decoded audio data is processed according to the time difference between these two adjacent AP synchronization points to generate the audio data ready for playback.

17. The system of claim 16, wherein, The AP is also configured to play the audio data to be played at a target synchronization point; wherein the decoded audio data and the audio data to be played are audio data in Pulse Code Modulation (PCM) format, and the target synchronization point is generated based on a predetermined presentation delay and the AP synchronization point.

18. The system of claim 11, wherein, The system also includes another Bluetooth adapter and another AP coupled to the other Bluetooth adapter, wherein the other AP is configured to perform the following operations: Obtain the Bluetooth synchronization point from the other Bluetooth adapter; Based on the clock mapping between the other Bluetooth adapter and the other AP, the Bluetooth synchronization point of the other Bluetooth adapter is converted into the AP synchronization point of the other AP; and The raw audio data having a first duration is processed to generate unencoded audio data having a predetermined second duration to the encoder, wherein the first duration is determined based on the AP synchronization point of the other AP; The other Bluetooth adapter and the other AP are located in the audio receiver of the Bluetooth synchronization system and have different clock sources. The audio transmitter is configured to play the raw audio data with a first duration at a target synchronization point, which is determined based on a predetermined presentation delay and the AP synchronization point.

19. The system of claim 18, wherein, The other AP is further configured to use a conversion function to convert the Bluetooth synchronization point of the other Bluetooth adapter into the AP synchronization point of the other AP. The conversion function is as follows: Where Sa is the AP synchronization point of the other AP, Sb is the Bluetooth synchronization point of the other Bluetooth adapter, Yan is the latest runtime recorded for the other AP in the other clock mapping, Ybn is the latest runtime recorded for the other Bluetooth adapter in the other clock mapping, L is a predetermined interval determined based on the system clock of the other AP, and D is the average normalization factor obtained based on multiple runtimes of the other Bluetooth adapter and multiple runtimes of the other AP recorded in the other clock mapping.

20. The system of claim 19, wherein, The other AP is also configured to perform the following operations: Encode the unencoded audio data to generate encoded audio data; and The encoded audio data is sent via the other Bluetooth adapter; The original audio data and the unencoded audio data are audio data in Pulse Code Modulation (PCM) format.