Synchronization method and synchronization device
The method and device enable efficient BIS switching in BLE by using enhanced commands to manage BIS transitions directly, reducing power consumption and switching time, thus improving user experience and device longevity.
Patent Information
- Application Number
- CN202180074935.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-21
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2041-01-21
AI Technical Summary
In the Broadcast Synchronous Group (BIG) with Bluetooth Low Energy Consumption (BLE), there are problems of high power consumption and long time during the BIS synchronization switching process, resulting in poor user experience.
The controller creates a synchronization request based on the broadcast synchronization group BIG, switches the synchronized broadcast synchronization stream BIS to the target BIS, and uses enhanced LE BIG to create synchronization commands and synchronous establishment update events to achieve low power consumption and fast switching during the BIS switching process.
BIS switching is directly completed while maintaining synchronization, reducing power consumption and shortening switching time, improving user experience and extending device usage time.
Smart Images

Figure CN116349258B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly, to a synchronization method and a synchronization device. Background Art
[0002] Bluetooth Low Energy (BLE), also known as low-power Bluetooth, is a personal area network technology that can be used in fields such as healthcare, fitness, beacons, security, and home entertainment. In the Bluetooth Core Specification (CoreSpec), there is a Broadcast Isochronous Group (BIG), and a BIG can include one or more Broadcast Isochronous Streams (BIS). It is necessary to consider how to reduce the power consumption and time during the BIS synchronization switching process. Summary of the Invention
[0003] Embodiments of this application provide a synchronization method and a synchronization device, which can reduce power consumption and reduce switching time during the BIS synchronization switching process.
[0004] Embodiments of this application provide a synchronization method, including:
[0005] The controller creates a synchronization request based on the Broadcast Isochronous Group (BIG) and switches the synchronized Broadcast Isochronous Stream (BIS) to the target BIS.
[0006] Embodiments of this application provide a synchronization method, including:
[0007] The host sends a BIG creation synchronization request to the controller to instruct the controller to switch the synchronized BIS to the target BIS based on the BIG creation synchronization request.
[0008] Embodiments of this application provide a synchronization device, including:
[0009] A control unit, configured to create a synchronization request based on the Broadcast Isochronous Group (BIG) and switch the synchronized Broadcast Isochronous Stream (BIS) to the target BIS.
[0010] Embodiments of this application provide a synchronization device, including:
[0011] A sending unit, configured to send a BIG creation synchronization request to the controller to instruct the controller to switch the synchronized BIS to the target BIS based on the BIG creation synchronization request.
[0012] An embodiment of the present application provides a synchronization device, including a processor and a memory. The memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory, so that the synchronization device executes the above synchronization method.
[0013] An embodiment of the present application provides a chip for implementing the above synchronization method.
[0014] Specifically, the chip includes: a processor, which is used to call and run a computer program from a memory, so that a device installed with the chip executes the above synchronization method.
[0015] An embodiment of the present application provides a computer-readable storage medium for storing a computer program, which, when run on a device, causes the device to execute the above synchronization method.
[0016] An embodiment of the present application provides a computer program product, including computer program instructions, which cause a computer to execute the above synchronization method.
[0017] An embodiment of the present application provides a computer program, which, when running on a computer, causes the computer to execute the above synchronization method.
[0018] In the embodiment of the present application, by creating a synchronization request based on the BIG by a controller to switch the synchronized BIS to the target BIS, the power consumption of synchronization reception can be reduced and the synchronization switching time can be reduced during the BIS synchronization switching process. Description of the Drawings
[0019] Figure 1 is a schematic diagram of an application scenario according to an embodiment of the present application.
[0020] Figure 2 is a flowchart of a BIS switch initiated by a synchronization receiver.
[0021] Figure 3 is a schematic diagram of determining the BIS / BIG timing using periodic broadcasts.
[0022] Figure 4 is a schematic flowchart of a synchronization method according to an embodiment of the present application.
[0023] Figure 5 is a schematic flowchart of a synchronization method according to another embodiment of the present application.
[0024] Figure 6 is a schematic diagram of the process of a controller completing a BIS switch in Example 1.
[0025] Figure 7 is a schematic flowchart of a BIS switch in Example 1.
[0026] Figure 8 It is a schematic diagram of the process in which the controller in Example 2 completes the BIS handover.
[0027] Figure 9 It is a schematic diagram of the BIS handover process in Example 2.
[0028] Figure 10 It is a schematic block diagram of a synchronization device according to an embodiment of the present application.
[0029] Figure 11 It is a schematic block diagram of a synchronization device according to another embodiment of the present application.
[0030] Figure 12 It is a schematic block diagram of a synchronization device according to another embodiment of the present application.
[0031] Figure 13 It is a schematic block diagram of a synchronization device according to another embodiment of the present application.
[0032] Figure 14 It is a schematic block diagram of a communication device according to an embodiment of the present application.
[0033] Figure 15 It is a schematic block diagram of a chip according to an embodiment of the present application.
[0034] Figure 16 It is a schematic block diagram of a communication system according to an embodiment of the present application. Detailed implementation manners
[0035] Next, the technical solutions in the embodiments of the present application will be described with reference to the accompanying drawings in the embodiments of the present application.
[0036] It should be understood that the terms "system" and "network" are often used interchangeably in this article. The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the associated objects before and after.
[0037] It should be understood that the "indication" mentioned in the embodiments of the present application may be a direct indication, an indirect indication, or a representation of an association relationship. For example, A indicates B, which may mean that A directly indicates B. For example, B can be obtained through A; it can also mean that A indirectly indicates B. For example, A indicates C, and B can be obtained through C; it can also mean that there is an association relationship between A and B.
[0038] In the description of the embodiments of the present application, the term "corresponding" may represent a direct or indirect corresponding relationship between two entities, or may represent an associated relationship between them, or may be a relationship such as indication and being indicated, configuration and being configured, etc.
[0039] To facilitate the understanding of the technical solutions of the embodiments of the present application, the related technologies of the embodiments of the present application are described below. The following related technologies can be arbitrarily combined with the technical solutions of the embodiments of the present application as optional solutions, and all of them fall within the protection scope of the embodiments of the present application.
[0040] In the BLE scenario, BIG can be carried on Bluetooth Periodic Advertising (PA). It is necessary to start the periodic advertising first and then start BIG. The broadcast synchronizer (such as an isochronous broadcaster and / or a synchronized receiver) also needs to synchronize to the Bluetooth periodic advertising first when synchronizing BIG, and then synchronize to BIG / BIS through the periodic advertising. For example, a BIG can contain up to 31 BISs at most, and each BIS can be used to transmit the corresponding audio stream. BIG / BIS can provide a new audio broadcast function for Bluetooth. As Figure 1 shown, the Master device starts a BIG, and this BIG contains two BISs, which respectively transmit the left and right channels of the audio. Two Slave devices can synchronize to this BIG / BIS simultaneously and receive the audio stream in the BIS.
[0041] Generally, the broadcast sender can be called an isochronous broadcaster (or the broadcast sending end), and the broadcast synchronized receiver can be called a synchronized receiver (or the synchronized receiving end, isochronous broadcast receiver, etc.).
[0042] A typical application scenario of Bluetooth broadcast audio is the support for multi-language audio streams. For example, assume that a BIG contains 4 BISs. Among them, BIS1 and BIS2 respectively transmit the left and right channels of Spanish, and BIS3 and BIS4 respectively transmit the left and right channels of English. When the user is enjoying the audio, there may be a need to switch languages. For example, switch from Spanish to English. At this time, it is necessary for the user's Bluetooth headset device (i.e., the synchronized receiver) to synchronize the BIS from BIS1 and BIS2 to BIS3 and BIS4.
[0043] In one example, the synchronization of the BIS can be initiated by a Low Energy (LE) BIG Create Sync command. The number of BISs to be synchronized and the target BIS index can be specified through Num_BIS and BIS[i].
[0044] See Table 1 for an example of an LE BIG Create Sync command:
[0045] Table 1
[0046]
[0047]
[0048] If the command sent by the host carries an allocated BIG_Handle, the controller will return an error code: Command Disallowed (0x0C).
[0049] Since the Synchronized Receiver needs to terminate the current BIS synchronization and then initiate a new synchronization of the target BIS when initiating a BIS synchronization switch. Figure 2 It is a schematic diagram of the process for the Synchronized Receiver to initiate a BIS switch. The Synchronized Receiver can include a Host and a Controller. The Host can include an application layer, and the Controller can include a Link Layer (LL). Specifically, the process of this BIS switch can include:
[0050] S11. The Isochronous Broadcaster starts a Periodic Advertisement (Start PA).
[0051] S12. The Isochronous Broadcaster starts a BIG (Start BIG) associated with this Periodic Advertisement. For example: The started BIG includes BIS1, BIS2, BIS 3, BIS 4.
[0052] S13. The Synchronized Receiver Host sends an instruction to the Controller to Scan the PA, and the Controller performs the scan.
[0053] S14. The Synchronized Receiver Controller receives periodic broadcasts from the Synchronized Broadcaster. For example, the ACAD in the periodic broadcast AUX_SYNC_IND carries the BIGInfo (AUX_SYNC_IND ACAD with BIGInfo).
[0054] S15. The Synchronized Receiver Host sends a LE BIG Create Sync command (CreateSync cmd) to the Synchronized Receiver Controller to enable the Synchronized Receiver to synchronize to BIS1 / BIS2 (sync to BIS1 / BIS2).
[0055] In this way, the Synchronized Receiver can scan for the PA of the Synchronized Broadcaster (Sync to PA) and synchronize to the BIS (Sync with BIG), such as BIS1 / BIS2, with the help of the PA.
[0056] S16. The BIS switch can be initiated by the Synchronized Receiver Host.
[0057] S17. The Synchronized Receiver Host sends a LE BIG Terminate Sync command (TerminateSync cmd) to the Synchronized Receiver Controller.
[0058] S18. The Synchronized Receiver Controller returns a Host Controller interface (HCI) Command Complete event to the Synchronized Receiver Host. In this case, the Synchronized Receiver stops synchronizing to BIS1 / BIS2.
[0059] If the Synchronized Receiver has stopped synchronizing with the PA of the Synchronized Broadcaster, S19 and S20 can be executed to synchronize to the PA again. If the Synchronized Receiver has not stopped synchronizing with the PA of the Synchronized Broadcaster, S21 can be executed.
[0060] S19. The Synchronized Receiver Host scans for the PA.
[0061] S20. The Synchronized Receiver Controller receives periodic broadcasts from the Synchronized Broadcaster. For example, the periodic broadcast: the ACAD in AUX_SYNC_IND carries the BIGInfo.
[0062] S21. The Synchronized Receiver Host sends a LE BIG Create Sync command (CreateSync cmd) to the Synchronized Receiver Controller to enable the Synchronized Receiver to synchronize to BIS3 / BIS4 (sync to BIS3 / BIS4).
[0063] In this way, it is possible to achieve that the synchronous receiver scans the synchronous broadcaster's PA (Sync to PA) again and synchronize with BIG such as BIS3 / BIS4 with the help of PA.
[0064] As Figure 3 shown, the timing of BIG / BIS can be obtained through the BIGInfo carried in the periodic broadcast. For example, through the BIGInfo carried by ACAD in the periodic broadcast AUX_SYNC_IND, the BIG event (event) x + 1 in the next cycle of the BIG event x can be determined. The BIGInfo may include a BIG offset (BIG_Offset) and a BIG anchor point (BIG Anchor Point), etc. For example, the offset unit can be 30 μs (microseconds) or 300 μs. The BIG anchor point is after the time indicated by the BIG offset (Time indicated by BIG_Offset). The BIG anchor point can be the start point of BIG 1 in the BIG event x + 1. In addition, the BIGInfo may further include time information such as the BIS spacing (BIS_Spacing) for determining BIS events such as BIS1 and BIS2.
[0065] Referring to the process of BIS switching, the Synchronized Receiver device needs to terminate the currently established synchronized BIS before switching to a new BIS, and then re-synchronize with the new BIS. This process requires the periodic broadcasts of the SynchronizedReceiver device and the Isochronous Broadcaster device to maintain a synchronized state, resulting in a waste of power consumption of the Receiver device. Moreover, if the Synchronized Receiver device stops synchronizing with the periodic broadcast of the IsochronousBroadcaster device, it needs to first re-scan and synchronize with the periodic broadcast of the Broadcaster device, and then synchronize with the new BIS. The process of scanning and synchronizing the periodic broadcast is a time-consuming process, resulting in a too long BIS switching time and a poor user experience.
[0066] Figure 4 It is a schematic flowchart of a synchronization method 200 according to an embodiment of the present application. This method can optionally be applied to Figure 1 the system shown, but is not limited thereto. This method includes at least part of the following content.
[0067] S210. The controller creates a synchronization request based on the broadcast synchronization group BIG and switches the synchronized broadcast synchronization stream BIS to the target BIS.
[0068] Exemplarily, the controller can be the controller of the synchronous receiver, see Figure 2 . The controller can create a synchronization request based on the BIG of the host from the synchronous receiver, and switch the synchronized broadcast synchronization stream BIS to the target BIS. Among them, the synchronized broadcast synchronization stream BIS can include one or more BISs in a BIG, specifically, it can include one or more BISs synchronized between the synchronous receiver and the synchronous broadcaster. The target BIS can also include one or more BISs, specifically, it can include the BISs that need to be switched to be synchronized with the synchronous receiver.
[0069] Optionally, the method further includes: the controller receives the BIG creation synchronization request from the host.
[0070] Exemplarily, the user can initiate a BIS switch through the host of the synchronous receiver. The host sends a BIG creation synchronization request to the controller. When the controller receives the BIG creation synchronization request from the host, it switches the synchronized broadcast synchronization stream BIS to the target BIS.
[0071] Optionally, the BIG creation synchronization request includes a BIG handle BIG_Handle, and the method further includes:
[0072] When the BIG_Handle has been used by a BIG command, the controller returns an error message to the host.
[0073] Exemplarily, the BIG_Handle included in the BIG creation synchronization request may be used by a BIG command such as the LECreate BIG command. The LE Create BIG command is a command used by the synchronous broadcaster to create a BIG. If a certain synchronous broadcaster has already used the BIG_Handle to create a BIG, and the synchronous receiver requests to continue using the same BIG_Handle to synchronize the BIGs created by other synchronous broadcasters, the synchronous receiver controller will return an error message to the synchronous receiver host.
[0074] Optionally, the BIG creation synchronization request further includes target BIS information. The controller switches the synchronized BIS to the target BIS based on the BIG creation synchronization request, including:
[0075] When the BIG_Handle has not been used by a BIG command, the controller switches the synchronized BIS to the target BIS based on the BIG creation synchronization request.
[0076] Optionally, the target BIS information includes: the number and / or parameter description of the target BIS.
[0077] Exemplarily, the number of target BISs included in the target BIS information may be N, and the target BIS information may further include parameter descriptions of these N BISs.
[0078] Optionally, the controller creates a synchronization request based on the BIG, and switches the synchronized BISs to target BISs, including:
[0079] The controller obtains a target BIS set based on the target BIS information included in the synchronization request created based on the BIG;
[0080] The controller obtains a first BIS set and a second BIS set based on the target BIS set and the synchronized BIS set; wherein, the first BIS set includes BIS information that exists in the target BIS set but does not exist in the synchronized BIS set, and the second BIS set includes BIS information that exists in the synchronized BIS set but does not exist in the target BIS set;
[0081] The controller stops synchronizing the BISs identified by the BIS information in the second BIS set, and starts to establish synchronization with the BISs identified by the BIS information in the first BIS set.
[0082] In Method 1, the controller may trigger a new switching logic based on the synchronization request created by the BIG, compare and obtain the BISs that need to stop synchronization and those that need to establish synchronization, and thus complete the BIS switching.
[0083] Exemplarily, the BIS information included in the synchronized BIS set of the synchronization receiver and the synchronization broadcaster is BIS1 and BIS2. The target BIS information included in the synchronization request created by the BIG is BIS3 and BIS4, and the target BIS set includes BIS3 and BIS4. The controller compares the synchronized BIS set and the target BIS set, records the BIS information BIS3 and BIS4 that exists in the target BIS set but does not exist in the synchronized BIS set into the first BIS set, and records the BIS information BIS1 and BIS2 that exists in the synchronized BIS set but does not exist in the target BIS set into the second BIS set. Then, the controller stops synchronizing BIS1 and BIS2 of the synchronization broadcaster in the second BIS set, and starts to establish synchronization with BIS3 and BIS4 of the synchronization broadcaster in the first BIS set.
[0084] Exemplarily, the BIS information included in the synchronized BIS set of the synchronization receiver and the synchronization broadcaster is BIS1, BIS2, and BIS3. The target BIS information included in the BIG creation synchronization request is BIS3, BIS4, BIS5, and BIS6. The controller compares the synchronized BIS set and the target BIS set, records the BIS information BIS4, BIS5, and BIS6 that exists in the target BIS set but does not exist in the synchronized BIS set into the first BIS set, and records the BIS information BIS1 and BIS2 that exists in the synchronized BIS set but does not exist in the target BIS set into the second BIS set. Then, the controller stops synchronizing BIS1 and BIS2 of the synchronization broadcaster in the second BIS set and starts to establish synchronization with BIS4, BIS5, and BIS6 of the synchronization broadcaster in the first BIS set.
[0085] Optionally, the BIG creation synchronization request further includes the BIS information that needs to stop synchronization.
[0086] Optionally, the BIS information that needs to stop synchronization includes the quantity and / or parameter description of the BIS that needs to stop synchronization.
[0087] Optionally, the controller switches the synchronized BIS to the target BIS based on the BIG creation synchronization request, including: the controller stops synchronizing the BIS identified by the BIS information that needs to stop synchronization, and starts to establish synchronization with the BIS identified by the target BIS information.
[0088] In Mode 2, the controller can stop synchronizing the BIS identified by the BIS information that needs to stop synchronization included in the BIG creation synchronization request, and establish synchronization with the BIS identified by the target BIS information included in the BIG creation synchronization request, thereby completing the BIS switch.
[0089] Optionally, the BIG creation synchronization request is a low-power LE BIG creation synchronization command.
[0090] Exemplarily, in Mode 1, the BIG creation synchronization request can be an LE BIG creation synchronization command (LE BIGCreate Sync command), or an enhanced LE BIG creation synchronization command (Enhanced LE BIG Create Sync command). For example, HCI_LE_BIG_Create_Sync. The switching logic of the controller is changed based on the LE BIG creation synchronization command or the enhanced LE BIG creation synchronization command. In the new switching logic, the controller can compare and obtain the BIS information that needs to stop synchronization and the BIS information that needs to establish synchronization, thereby completing the BIS switch.
[0091] Optionally, the BIG creates a synchronization request as an LE BIG create synchronization command including BIS information that needs to stop synchronization.
[0092] Exemplarily, in the second mode, the BIG create synchronization request can be a modified version of the LE BIG create synchronization command (LE BIG Create Sync command V2). For example, HCI_LE_BIG_Create_Sync v2. In the modified version of the LE BIG create synchronization command, parameters related to the BIS information that needs to stop synchronization can be newly added, such as the number of BISs that need to stop synchronization and the parameter description of the BISs that need to stop synchronization. The switching logic of the controller can be changed to complete the BIS switching based on the number of BISs that need to stop synchronization and the parameter description of the BISs that need to stop synchronization.
[0093] Optionally, the method further includes:
[0094] The controller sends a BIG synchronization result to the host, and the BIG synchronization result includes information on the set of BISs that have lost synchronization.
[0095] Optionally, the information on the set of BISs that have lost synchronization includes the number of BISs that have lost synchronization and / or the connection handles corresponding to the BISs that have lost synchronization.
[0096] Optionally, the BIG synchronization result is a host controller interface (HCI) LE BIG synchronization establishment update event, and the HCI LE BIG synchronization establishment update event includes the information on the set of BISs that have lost synchronization.
[0097] Optionally, the BIG synchronization result is an HCI LE BIG synchronization establishment event including the information on the set of BISs that have lost synchronization.
[0098] Exemplarily, there can be multiple ways for the controller to send the BIG synchronization result to the host. One way is to modify the parameters in the HCI LE BIG synchronization establishment event, and carry information about the set of BISs that have lost synchronization, such as the number of BISs that have lost synchronization and / or the connection handles corresponding to the BISs that have lost synchronization, in the modified version of the HCI LE BIG synchronization establishment event (HCI LE BIG Sync Established event v2), for example, HCI_LE_BIG_Sync_Established[v2]. Another way is to add a new HCI LE BIG synchronization establishment update event, and carry information about the set of BISs that have lost synchronization, such as the number of BISs that have lost synchronization and / or the connection handles corresponding to the BISs that have lost synchronization, in the HCI LE BIG synchronization establishment update event.
[0099] Figure 5 is a schematic flowchart of a synchronization method 300 according to another embodiment of the present application. Optionally, this method can be applied to Figure 1 the system shown, but is not limited thereto. This method includes at least some of the following content.
[0100] S310. The host sends a BIG creation synchronization request to the controller to instruct the controller to switch the synchronized BISs to the target BISs based on the BIG creation synchronization request.
[0101] Optionally, the BIG creation synchronization request includes a BIG handle BIG_Handle, and the method further includes: when the BIG_Handle has been used by a BIG command, the host receives error information from the controller.
[0102] Optionally, the BIG creation synchronization request further includes target BIS information.
[0103] Optionally, the target BIS information includes: the number of target BISs and / or a parameter description.
[0104] Optionally, the BIG creation synchronization request further includes BIS information that needs to stop synchronization.
[0105] Optionally, the BIS information that needs to stop synchronization includes the number of BISs that need to stop synchronization and / or a parameter description.
[0106] Optionally, the BIG creation synchronization request is a low-power LE BIG creation synchronization command.
[0107] Optionally, the BIG creates a synchronization request as an LE BIG create synchronization command that includes BIS information for which synchronization needs to be stopped.
[0108] Optionally, the method further includes: the host receives a BIG synchronization result from the controller, and the BIG synchronization result includes information about a set of BISs that have lost synchronization.
[0109] Optionally, the information about the set of BISs that have lost synchronization includes the number of BISs that have lost synchronization and / or the connection handles corresponding to the BISs that have lost synchronization.
[0110] Optionally, the BIG synchronization result is an HCI LE BIG synchronization establishment update event, and the HCI LE BIG synchronization establishment update event includes information about the set of BISs that have lost synchronization.
[0111] Optionally, the BIG synchronization result is an HCI LE BIG synchronization establishment event that includes information about the set of BISs that have lost synchronization.
[0112] For a specific example of the method executed by the host in this embodiment for Method 300, reference may be made to the relevant description of the host of the synchronization receiver in the above Method 200. For the sake of brevity, it will not be elaborated here.
[0113] An embodiment of the present application provides a synchronization method based on BLE BIS, which can enhance the LE BIG create synchronization command, enabling a device to directly complete the synchronization switch of a new BIS without first terminating the synchronization of the BIG / BIS when it has already been synchronized to the BIG / BIS.
[0114] Example 1:
[0115] 1. Enhance the LE BIG create synchronization command. For example, set an enhanced LE BIG create synchronization command:
[0116] (1) When the controller receives this command, it checks the BIG_Handle. If this BIG_Handle has already been used by the LE Create BIG command, the controller returns an error code: INVALID HCI COMMAND PARAMETERS (0x12);
[0117] The controller checks the BIS(s) described by the Num_BIS, BIS[i] parameters:
[0118] The description of the Num_BIS and BIS[i] parameters. The BIS set is marked as BIS_Set_req.
[0119] The controller marks the currently existing and already synchronized BIS set as BIS_Set_synced and can perform the following steps:
[0120] (a) If the BIS of the two sets is exactly the same or BIS_Set_req is included in BIS_Set_synced, the Controller returns an error code: Command Disallowed (0x0C);
[0121] (b) If the BIS of the two sets is different:
[0122] Mark the BIS set that exists in BIS_Set_req but not in BIS_Set_synced as BIS_Set_a;
[0123] Mark the BIS set that exists in BIS_Set_synced but not in BIS_Set_req as BIS_Set_b;
[0124] The controller terminates the synchronization of the BIS (if any) included in the BIS_Set_b set and starts to establish synchronization with the BIS included in the BIS_Set_a set.
[0125] 2. Add a new LE BIG Sync Established update event or the v2 version of the LE BIG Sync Establishment event (HCI_LE_BIG_Sync_Established[v2]). The parameters in the event can be seen in Table 2:
[0126] Table 2
[0127]
[0128] In the above table, Num_BIS_Lost and Connection_Handle_Lost[i] represent the set of BIS that have lost synchronization. Among them, Num_BIS_Lost is the number of BIS that have lost synchronization, and Connection_Handle_Lost[i] is an array of connection handles, representing the connection handles corresponding to the BIS that have lost synchronization.
[0129] Figure 6Schematic diagram of the process for the controller to complete BIS switching, taking the case where BIG contains two BISs as an example. If the controller of the synchronous receiver is in sync with BIS1 and the controller starts BIS switching upon receiving the enhanced LE BIG create sync command. In this example, the switch is from BIS1 to BIS2. Specifically, based on the ISO interval, the anchor point of the BIS event for the next cycle x+1 of x can be determined. The controller performs BIS switching based on the BIG anchor point according to the enhanced LE BIG create sync command: HCI_LE_BIG_Create_Sync. After the controller finishes the sync switch, it returns the HCI LE BIG sync established event v2 version: HCI_LE_BIG_Sync_Established[v2] to the host.
[0130] As Figure 7 shown, the overall process of BIS switching includes:
[0131] S31. The Isochronous Broadcaster starts periodic advertising (Start PA).
[0132] S32. The Isochronous Broadcaster starts BIG (Start BIG) associated with this periodic advertising. For example, start 4 BISs: BIS1, BIS2, BIS3, and BIS4.
[0133] S33. The Synchronized Receiver Host sends an instruction to scan the PA to the Synchronized Receiver Controller, and the Synchronized Receiver Controller performs the scan.
[0134] S34. The Synchronized Receiver Controller receives the periodic advertising from the Isochronous Broadcaster. For example, the ACAD in the periodic advertising AUX_SYNC_IND carries the BIG information (AUX_SYNC_IND ACAD with BIG Info).
[0135] S35. The host sends an enhanced LE BIG create sync command to the controller, which can carry: Num_BIS:2, [BIS1, BIS2], etc. Num_BIS:2 indicates that the number of BISs is 2, and [BIS1, BIS2] represents the parameter descriptions of BIS1 and BIS2 for which synchronization needs to be established.
[0136] In this way, the Synchronized Receiver scans the PA of the Synchronized Broadcaster and synchronizes with the BIS (Sync with BIG) by means of the PA. For example: BIS1 / BIS2.
[0137] S36. The application initiates a BIS switch request.
[0138] S37. The Synchronized Receiver host sends the parameters carried in the Enhanced LE BIG Create Sync command to the Synchronized Receiver controller. The parameters can include information about BIS3 / BIS4. For example, the command can carry: Num_BIS:2, [BIS3, BIS4], etc. Num_BIS:2 indicates that the number of BISs is 2, and [BIS3, BIS4] represents the parameter descriptions of BIS1 and BIS2 for which synchronization needs to be established.
[0139] S38. After receiving the command, the controller processes it according to the description of the command. For example, it stops synchronizing with BIS1 / BIS2 and starts synchronizing with BIS3 / BIS4.
[0140] Note: The BIS switch can be completed according to the process schematic diagram of the controller to complete the BIS switch, that is Figure 6 to complete.
[0141] S39. The controller returns the v2 version of the HCI LE BIG step establishment event (HCI_LE_BIG_Sync_Established[v2]) to the host. The Num_BIS and Connection_Handle[i] included in this event are the sets of newly established synchronized BIS3 / BIS4, and Num_BIS_Lost and Connection_Handle_Lost[i] are the sets of BIS1 / BIS2 for which synchronization has been stopped.
[0142] Example 2:
[0143] This example applies to the case where the Synchronized Receiver device continues to maintain a synchronized state with the periodic broadcast of the Isochronous Broadcaster device after establishing synchronization with the BIG / BIS.
[0144] 1. Add the v2 version of the LE BIG Create Sync command:
[0145] (1) In this command, a new parameter Num_BIS_Lost, BIS_Lost[i] is added, which represents the set of BISs for which the Host requests the Controller to stop synchronization. See Table 3.
[0146] Table 3
[0147]
[0148] Based on the parameters in the above table, when the Controller receives this command, it checks the BIG_Handle. If this BIG_Handle has already been used by the LE Create BIG command, the Controller returns the error code INVALID HCI COMMAND PARAMETERS (0x12).
[0149] The Controller stops synchronizing the BIS information for the BISs to be stopped from synchronization: the parameters Num_BIS_Lost, BIS_Lost[i] represent multiple BISs, and initiates synchronization for the BIS information for the BISs to be synchronized: the parameters Num_BIS, BIS[i] represent multiple BISs.
[0150] In addition, a new version v2 of the LE BIG Sync Established update event or LE BIG Sync Established event (HCI_LE_BIG_Sync_Established[v2]) is added. The parameters in the event can be seen in Table 2 of Example 1, which will not be elaborated here. In Table 2, Num_BIS_Lost and Connection_Handle_Lost[i] represent the set of BISs that have lost synchronization. Among them, Num_BIS_Lost is the number of BISs that have lost synchronization, and Connection_Handle_Lost[i] is an array of connection handles, representing the connection handles corresponding to the BISs that have lost synchronization.
[0151] Figure 8Schematic diagram of the process for the controller to complete BIS switching, taking the case where the BIG contains two BISs as an example. If the controller of the synchronous receiver is in sync with BIS1 and the controller starts BIS switching upon receiving the enhanced LE BIG create sync command. In this example, the switch is from BIS1 to BIS2. Specifically, based on the ISO interval, the anchor point of the BIS event for the next cycle x+1 of x can be determined. The controller performs BIS switching based on the BIG anchor point according to the enhanced LE BIG create sync command v2 version: HCI_LE_BIG_Create_Sync[v2]. After the controller finishes the sync switching, it returns the HCI LE BIG sync established event v2 version: HCI_LE_BIG_Sync_Established[v2] to the host.
[0152] As Figure 9 shown, the overall process of BIS switching includes: The schematic of this BIS switching process may include:
[0153] S41. The isochronous broadcaster starts periodic advertising (Start PA).
[0154] S42. The isochronous broadcaster starts associating the BIG with this periodic advertising. For example, start 4 BISs: BIS1, BIS2, BIS3, and BIS4.
[0155] S43. The synchronized receiver host sends an instruction to scan the PA to the synchronized receiver controller, and the synchronized receiver controller performs the scan.
[0156] S44. The synchronized receiver controller receives the periodic advertising from the isochronous broadcaster. For example, the ACAD in the periodic advertising AUX_SYNC_IND carries the BIG information (AUX_SYNC_IND ACAD with BIG Info).
[0157] S45. The host sends an enhanced LE BIG Create Sync command or the v2 version of the LE BIG Create Sync command (HCI_LE_BIG_Create_Sync[v2]) to the controller. It can carry: Num_BIS:2, [BIS1, BIS2], etc. Num_BIS:2 indicates that the number of BISs is 2, and [BIS1, BIS2] represents the parameter descriptions of BIS1 and BIS2 for which synchronization needs to be established.
[0158] In this way, the Synchronized Receiver scans the PA of the Synchronized Broadcaster and synchronizes with the BIS (Sync with BIG) by means of the PA, for example: BIS1 / BIS2.
[0159] S46. The application initiates the sending of a BIS switch request.
[0160] S47. The Synchronized Receiver host sends the HCI_LE_BIG Create Sync command [v2] to the Synchronized Receiver controller, carrying the parameters Num_BIS:2, [BIS3 / BIS4], Num_BIS:2, [BIS1 / BIS2].
[0161] S48. After receiving this command, the controller processes it according to the description of the command. For example, it stops synchronizing BIS1 / BIS2 and starts synchronizing to BIS3 / BIS4.
[0162] In this example, the BIS switch can be completed according to the schematic diagram of the process for the controller to complete the BIS switch, that is Figure 8 to complete.
[0163] S49. The controller returns the v2 version of the HCI_LE_BIG Sync Established event (HCI_LE_BIG_Sync_Established[v2]) to the host. The Num_BIS and Connection_Handle[i] included in this event are the set of newly established synchronized BIS3 / BIS4, and Num_BIS_Lost and Connection_Handle_Lost[i] are the set of BIS1 / BIS2 for which synchronization has stopped.
[0164] Embodiments of the present application support a Synchronized Receiver device to directly complete the switching between different Broadcast Information Sets (BISs) while maintaining synchronization with the Broadcast Information Group (BIG) / BIS, shortening the time for a Host to initiate a BIS switch, enhancing the user experience, and reducing the latency of different audio switches. Moreover, after the Synchronized Receiver device synchronizes with the BIG / BIS, it can terminate the synchronization of periodic broadcasts, and the BIS switching process does not depend on periodic broadcasts, effectively reducing the power consumption of the Synchronized Receiver device and increasing the device's usage time.
[0165] Figure 10 FIG. 4 is a schematic block diagram of a synchronization device 400 according to an embodiment of the present application. The synchronization device 400 may include:
[0166] A control unit 410, configured to create a synchronization request based on a Broadcast Information Group (BIG) and switch a synchronized Broadcast Information Stream (BIS) to a target BIS.
[0167] Optionally, as Figure 11 shown, the synchronization device further includes: a receiving unit 420, configured to receive the BIG creation synchronization request from the Host.
[0168] Optionally, the BIG creation synchronization request includes a BIG handle (BIG_Handle). The synchronization device further includes: a first sending unit 430, configured to return an error message to the Host when the BIG_Handle has been used by a BIG command.
[0169] Optionally, the BIG creation synchronization request further includes target BIS information. The controller switches the synchronized BIS to the target BIS based on the BIG creation synchronization request. The control unit is further configured to switch the synchronized BIS to the target BIS based on the BIG creation synchronization request when the BIG_Handle has not been used by a BIG command.
[0170] Optionally, the target BIS information includes: the number and / or parameter description of the target BIS.
[0171] Optionally, the control unit is further configured to:
[0172] Obtain a target BIS set based on the target BIS information included in the BIG creation synchronization request;
[0173] Based on the target BIS set and the synchronized BIS set, obtain a first BIS set and a second BIS set; wherein, the first BIS set includes BIS information that exists in the target BIS set but does not exist in the synchronized BIS set, and the second BIS set includes BIS information that exists in the synchronized BIS set but does not exist in the target BIS set;
[0174] Stop synchronizing the BIS identified by the BIS information in the second BIS set, and start establishing synchronization with the BIS identified by the BIS information in the first BIS set.
[0175] Optionally, the BIG create synchronization request further includes BIS information that needs to stop synchronization.
[0176] Optionally, the BIS information that needs to stop synchronization includes the number of BISs that need to stop synchronization and / or parameter descriptions.
[0177] Optionally, the control unit is further configured to stop synchronizing the BIS identified by the BIS information that needs to stop synchronization, and start establishing synchronization with the BIS identified by the target BIS information.
[0178] Optionally, the BIG create synchronization request is a low-power LE BIG create synchronization command.
[0179] Optionally, the BIG create synchronization request is a LE BIG create synchronization command including BIS information that needs to stop synchronization.
[0180] Optionally, the synchronization device further includes: a second sending unit 440, configured to send a BIG synchronization result to the host, and the BIG synchronization result includes information about the BIS set that has lost synchronization.
[0181] Optionally, the information about the BIS set that has lost synchronization includes the number of BISs that have lost synchronization and / or the connection handles corresponding to the BISs that have lost synchronization.
[0182] Optionally, the BIG synchronization result is a host controller interface HCI LE BIG synchronization establishment update event, and the HCI LE BIG synchronization establishment update event includes the information about the BIS set that has lost synchronization.
[0183] Optionally, the BIG synchronization result is an HCI LE BIG synchronization establishment event including the information about the BIS set that has lost synchronization.
[0184] The synchronization device 400 of the embodiment of the present application can implement the corresponding functions of the controller of the synchronization receiver in the aforementioned method embodiment. The processes, functions, implementation methods and beneficial effects corresponding to the various modules (sub-modules, units or components, etc.) in the synchronization device 400 can be found in the corresponding descriptions in the above method embodiments, and will not be repeated here. It should be noted that the functions described by the various modules (sub-modules, units or components, etc.) in the synchronization device 400 of the embodiment of the application can be implemented by different modules (sub-modules, units or components, etc.) or by the same module (sub-module, unit or component, etc.).
[0185] Figure 12 is a schematic block diagram of a synchronization device 500 according to another embodiment of the present application. The synchronization device 500 may include:
[0186] The sending unit 510 is used to send a BIG create synchronization request to the controller to instruct the controller to switch the synchronized BIS to the target BIS based on the BIG create synchronization request.
[0187] Optionally, the BIG create synchronization request includes a BIG handle BIG_Handle, such as Figure 13 As shown, the synchronization device further includes: a first receiving unit 520, configured to receive error information from the controller when the BIG_Handle has been used by a create BIG command.
[0188] Optionally, the BIG creation synchronization request also includes target BIS information.
[0189] Optionally, the target BIS information includes: the number and / or parameter description of the target BIS.
[0190] Optionally, the BIG creation synchronization request also includes BIS information that needs to stop synchronization.
[0191] Optionally, the BIS information that needs to stop synchronizing includes the number and / or parameter description of the BIS that needs to stop synchronizing.
[0192] Optionally, the BIG create synchronization request is a low power LE BIG create synchronization command.
[0193] Optionally, the BIG create synchronization request is a LE BIG create synchronization command including BIS information that needs to stop synchronization.
[0194] Optionally, the synchronization device further includes: a second receiving unit 530, configured to receive a BIG synchronization result from a controller, wherein the BIG synchronization result includes information of a BIS set that has lost synchronization.
[0195] Optionally, the information of the out-of-sync BIS set includes the number of out-of-sync BISs and / or the connection handles corresponding to the out-of-sync BISs.
[0196] Optionally, the BIG synchronization result is an HCI LE BIG synchronization establishment update event, and the HCI LE BIG synchronization establishment update event includes the information of the out-of-sync BIS set.
[0197] Optionally, the BIG synchronization result is an HCI LE BIG synchronization establishment event including the information of the out-of-sync BIS set.
[0198] The synchronization device 500 according to the embodiments of the present application can implement the corresponding functions of the host of the synchronization receiver in the foregoing method embodiments. For the corresponding processes, functions, implementation manners, and beneficial effects of each module (sub-module, unit, or component, etc.) in the synchronization device 500, reference may be made to the corresponding descriptions in the foregoing method embodiments, which will not be elaborated herein. It should be noted that the functions described for each module (sub-module, unit, or component, etc.) in the synchronization device 500 of the embodiments of the application can be implemented by different modules (sub-modules, units, or components, etc.), or can be implemented by the same module (sub-module, unit, or component, etc.).
[0199] Figure 14 FIG. 13 is a schematic structural diagram of a communication device 600 according to an embodiment of the present application. The communication device 600 includes a processor 610, and the processor 610 can call and run a computer program from a memory to enable the communication device 600 to implement the method in the embodiments of the present application.
[0200] Optionally, the communication device 600 may further include a memory 620. Among them, the processor 610 can call and run a computer program from the memory 620 to enable the communication device 600 to implement the method in the embodiments of the present application.
[0201] Among them, the memory 620 can be a separate device independent of the processor 610, or can be integrated in the processor 610.
[0202] Optionally, the communication device 600 may further include a transceiver 630, and the processor 610 can control the transceiver 630 to communicate with other devices. Specifically, it can send information or data to other devices, or receive information or data sent by other devices.
[0203] Among them, the transceiver 630 can include a transmitter and a receiver. The transceiver 630 may further include antennas, and the number of antennas can be one or more.
[0204] Optionally, the communication device 600 may be the host in the embodiments of the present application, and the communication device 600 may implement the corresponding processes implemented by the host in the various methods of the embodiments of the present application. For the sake of brevity, details are not described herein again.
[0205] Optionally, the communication device 600 may be the controller in the embodiments of the present application, and the communication device 600 may implement the corresponding processes implemented by the controller in the various methods of the embodiments of the present application. For the sake of brevity, details are not described herein again.
[0206] Figure 15 FIG. 700 is a schematic structural diagram of a chip 700 according to an embodiment of the present application. The chip 700 includes a processor 710, and the processor 710 may call and run a computer program from a memory to implement the methods in the embodiments of the present application.
[0207] Optionally, the chip 700 may further include a memory 720. Among them, the processor 710 may call and run a computer program from the memory 720 to implement the methods executed by the controller or the host in the embodiments of the present application.
[0208] Among them, the memory 720 may be a separate device independent of the processor 710 or may be integrated in the processor 710.
[0209] Optionally, the chip 700 may further include an input interface 730. Among them, the processor 710 may control the input interface 730 to communicate with other devices or chips. Specifically, it may obtain information or data sent by other devices or chips.
[0210] Optionally, the chip 700 may further include an output interface 740. Among them, the processor 710 may control the output interface 740 to communicate with other devices or chips. Specifically, it may output information or data to other devices or chips.
[0211] Optionally, the chip may be applied to the host in the embodiments of the present application, and the chip may implement the corresponding processes implemented by the host in the various methods of the embodiments of the present application. For the sake of brevity, details are not described herein again.
[0212] Optionally, the chip may be applied to the controller in the embodiments of the present application, and the chip may implement the corresponding processes implemented by the controller in the various methods of the embodiments of the present application. For the sake of brevity, details are not described herein again.
[0213] The chips applied to the host and the controller may be the same chip or different chips.
[0214] It should be understood that the chips mentioned in the embodiments of the present application may also be referred to as system-on-chip, system chip, chip system, or system-on-chip, etc.
[0215] The processor mentioned above can be a general-purpose processor, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or other programmable logic devices, transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor mentioned above can be a microprocessor or any conventional processor, etc.
[0216] The memory mentioned above can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM).
[0217] It should be understood that the above memory is an exemplary but not restrictive description. For example, the memory in the embodiments of the present application can also be a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate SDRAM (DDR SDRAM), an enhanced SDRAM (ESDRAM), a synch link DRAM (SLDRAM), and a direct rambus random access memory (DR RAM), etc. That is to say, the memory in the embodiments of the present application is intended to include but not limited to these and any other suitable types of memories.
[0218] Figure 16 It is a schematic block diagram of a communication system 800 according to an embodiment of the present application. The communication system 800 includes a controller 810 and a host 820.
[0219] A controller 810, configured to create a synchronization request based on a BIG and switch a synchronized broadcast synchronization stream BIS to a target BIS.
[0220] A host 820, configured to send a BIG creation synchronization request to the controller to instruct the controller to switch the synchronized BIS to the target BIS based on the BIG creation synchronization request.
[0221] Wherein, the controller 810 can be used to implement the corresponding functions implemented by the controller in the above method, and the host 820 can be used to implement the corresponding functions implemented by the host in the above method. For the sake of brevity, details are not described herein again.
[0222] Optionally, the controller 810 and the host 820 can be disposed in the same synchronization device, such as a synchronization receiver.
[0223] Optionally, the system may further include: a synchronization broadcaster, which establishes synchronization with the host of the synchronization receiver through the controller of the synchronization receiver.
[0224] In the above embodiments, they can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the processes or functions in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, Digital Subscriber Line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that the computer can access, or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a Solid State Disk (SSD)), etc.
[0225] It should be understood that in various embodiments of the present application, the magnitudes of the sequence numbers of the above processes do not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0226] Those skilled in the art can clearly understand that, for the convenience and conciseness of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.
[0227] The above are only specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present application, and all should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A synchronization method, comprising: The controller creates a synchronization request based on a Broadcast Synchronization Group (BIG), and switches the synchronized Broadcast Synchronization Stream (BIS) to a target BIS. Specifically, the controller obtains a target BIS set based on the target BIS information included in the synchronization request created based on the BIG. The controller obtains a first BIS set and a second BIS set based on the target BIS set and the synchronized BIS set. Among them, the first BIS set includes BIS information that exists in the target BIS set but does not exist in the synchronized BIS set, and the second BIS set includes BIS information that exists in the synchronized BIS set but does not exist in the target BIS set. The controller stops synchronizing the BIS identified by the BIS information in the second BIS set, and starts to establish synchronization with the BIS identified by the BIS information in the first BIS set.
2. The method according to claim 1, wherein, The method further includes: The controller receives the BIG creation synchronization request from the host.
3. The method according to claim 1 or 2, wherein The BIG creation synchronization request includes a BIG handle (BIG_Handle). The method further includes: In the case where the BIG_Handle has been used by a BIG command, the controller returns an error message to the host.
4. According to the method described in claim 3, the controller creates a synchronization request based on the BIG and switches the synchronized BIS to a target BIS, including: In the case where the BIG_Handle has not been used by a BIG command, the controller creates a synchronization request based on the BIG and switches the synchronized BIS to a target BIS.
5. The method according to claim 4, wherein, The target BIS information includes: the number of target BISs and / or parameter descriptions.
6. The method according to any one of claims 1 to 5, wherein, The BIG creation synchronization request further includes BIS information that needs to stop synchronization.
7. The method according to claim 6, wherein The BIS information that needs to stop synchronization includes the number of BISs that need to stop synchronization and / or parameter descriptions.
8. The method according to claim 6 or 7, wherein, The controller creates a synchronization request based on the BIG and switches the synchronized BIS to a target BIS, including: The controller stops synchronizing the BIS identified by the BIS information that needs to stop synchronization, and starts to establish synchronization with the BIS identified by the target BIS information.
9. The method according to any one of claims 1 to 5, wherein The BIG creation synchronization request is a Low Energy (LE) BIG creation synchronization command.
10. The method according to any one of claims 1 to 5, 6 to 8, wherein, The BIG creation synchronization request is an LE BIG creation synchronization command that includes BIS information that needs to stop synchronization.
11. The method according to any one of claims 1 to 10, wherein The method further includes: The controller sends a BIG synchronization result to the host, and the BIG synchronization result includes information about the set of BISs that have lost synchronization.
12. The method according to claim 11, wherein, The information about the set of BISs that have lost synchronization includes the number of BISs that have lost synchronization and / or the connection handles corresponding to the BISs that have lost synchronization.
13. The method according to claim 11 or 12, wherein, The BIG synchronization result is a Host Controller Interface (HCI) LE BIG synchronization establishment update event, and the HCI LE BIG synchronization establishment update event includes the information about the set of BISs that have lost synchronization.
14. The method according to claim 11 or 12, wherein, The BIG synchronization result is an HCI LE BIG synchronization establishment event including information on the BIS set that has lost synchronization.
15. A synchronization method, comprising: The host sends a BIG creation synchronization request to the controller to instruct the controller to switch the synchronized BIS to a target BIS based on the BIG creation synchronization request, where the controller obtains a target BIS set based on the target BIS information included in the BIG creation synchronization request; the controller obtains a first BIS set and a second BIS set based on the target BIS set and the synchronized BIS set; where the first BIS set includes BIS information that exists in the target BIS set but does not exist in the synchronized BIS set, and the second BIS set includes BIS information that exists in the synchronized BIS set but does not exist in the target BIS set; the controller stops synchronizing the BIS identified by the BIS information in the second BIS set and starts establishing synchronization with the BIS identified by the BIS information in the first BIS set.
16. The method according to claim 15, wherein, The BIG creation synchronization request includes a BIG handle BIG_Handle, and the method further comprises: When the BIG_Handle has been used by a BIG command, the host receives error information from the controller.
17. The method according to claim 15 or 16, wherein, The target BIS information includes: the number of target BISs and / or parameter descriptions.
18. The method according to any one of claims 15 to 17, wherein, The BIG creation synchronization request further includes BIS information for which synchronization needs to be stopped.
19. The method according to claim 18, wherein, The BIS information for which synchronization needs to be stopped includes the number of BISs for which synchronization needs to be stopped and / or parameter descriptions.
20. The method according to any one of claims 15 to 17, wherein The BIG creation synchronization request is a low-power LE BIG creation synchronization command.
21. The method according to any one of claims 15 to 20, wherein, The BIG creation synchronization request is an LE BIG creation synchronization command including BIS information for which synchronization needs to be stopped.
22. The method according to any one of claims 15 to 21, wherein, The method further comprises: The host receives a BIG synchronization result from the controller, and the BIG synchronization result includes information on the BIS set that has lost synchronization.
23. The method according to claim 22, wherein, The information on the BIS set that has lost synchronization includes the number of BISs that have lost synchronization and / or the connection handles corresponding to the BISs that have lost synchronization.
24. The method according to claim 22 or 23, wherein, The BIG synchronization result is an HCI LE BIG synchronization establishment update event, and the HCI LE BIG synchronization establishment update event includes information on the BIS set that has lost synchronization.
25. The method according to claim 22 or 23, wherein The BIG synchronization result is an HCI LE BIG synchronization establishment event including information on the BIS set that has lost synchronization.
26. A synchronization device, comprising: A control unit, configured to switch a synchronized broadcast synchronization stream BIS to a target BIS based on a broadcast synchronization group BIG creation synchronization request. Specifically, a target BIS set is obtained based on the target BIS information included in the BIG creation synchronization request; Based on the target BIS set and the synchronized BIS set, a first BIS set and a second BIS set are obtained; wherein, the first BIS set includes BIS information that exists in the target BIS set but does not exist in the synchronized BIS set, and the second BIS set includes BIS information that exists in the synchronized BIS set but does not exist in the target BIS set; The synchronization device stops synchronizing the BIS identified by the BIS information in the second BIS set, and starts to establish synchronization with the BIS identified by the BIS information in the first BIS set.
27. The synchronization device according to claim 26, wherein, The synchronization device further includes: A receiving unit, configured to receive the BIG creation synchronization request from the host.
28. The synchronization device according to claim 26 or 27, wherein, The BIG creation synchronization request includes a BIG handle BIG_Handle. The synchronization device further includes: a first sending unit, configured to return an error message to the host when the BIG_Handle has been used by a BIG command.
29. The synchronization device according to claim 28, wherein the control unit switches the synchronized BIS to the target BIS based on the BIG creation synchronization request, and the control unit is further configured to switch the synchronized BIS to the target BIS based on the BIG creation synchronization request when the BIG_Handle has not been used by a BIG command.
30. The synchronization device according to claim 29, wherein, The target BIS information includes: the number and / or parameter description of the target BIS.
31. The synchronization device according to any one of claims 26 to 30, wherein, The BIG creation synchronization request further includes BIS information that needs to stop synchronization.
32. The synchronization device according to claim 31, wherein, The BIS information that needs to stop synchronization includes the number and / or parameter description of the BIS that needs to stop synchronization.
33. The synchronization device according to claim 31 or 32, wherein, The control unit is further configured to stop synchronizing the BIS identified by the BIS information that needs to stop synchronization, and start to establish synchronization with the BIS identified by the target BIS information.
34. The synchronization device according to any one of claims 26 to 30, wherein The BIG creation synchronization request is a low-power LE BIG creation synchronization command.
35. The synchronization device according to any one of claims 26 to 30, 31 to 33, wherein, The BIG creation synchronization request is a LE BIG creation synchronization command that includes BIS information that needs to stop synchronization.
36. The synchronization device according to any one of claims 26 to 35, wherein, The synchronization device further includes: a second sending unit, configured to send a BIG synchronization result to the host, and the BIG synchronization result includes information about the BIS set that has lost synchronization.
37. The synchronization device according to claim 36, wherein, The information about the BIS set that has lost synchronization includes the number of BISs that have lost synchronization and / or the connection handle corresponding to the BISs that have lost synchronization.
38. The synchronization device according to claim 36 or 37, wherein The BIG synchronization result is a host controller interface HCI LE BIG synchronization establishment update event, and the HCI LE BIG synchronization establishment update event includes the information about the BIS set that has lost synchronization.
39. The synchronization device according to claim 36 or 37, wherein, The BIG synchronization result is an HCI LE BIG synchronization establishment event that includes the information about the BIS set that has lost synchronization.
40. A synchronization device, including: A sending unit, configured to send a BIG creation synchronization request to a controller, to indicate that the controller switches a synchronized BIS to a target BIS based on the BIG creation synchronization request, where the controller obtains a target BIS set based on target BIS information included in the BIG creation synchronization request; the controller obtains a first BIS set and a second BIS set based on the target BIS set and the synchronized BIS set; where the first BIS set includes BIS information that exists in the target BIS set but does not exist in the synchronized BIS set, and the second BIS set includes BIS information that exists in the synchronized BIS set but does not exist in the target BIS set; the controller stops synchronizing the BIS identified by the BIS information in the second BIS set, and starts to establish synchronization with the BIS identified by the BIS information in the first BIS set.
41. The synchronization device according to claim 40, wherein, The BIG creation synchronization request includes a BIG handle BIG_Handle, and the synchronization device further includes: a first receiving unit, configured to receive error information from the controller when the BIG_Handle has been used by a BIG command.
42. The synchronization device according to claim 40 or 41, wherein, The target BIS information includes: the number of target BISs and / or parameter descriptions.
43. The synchronization device according to any one of claims 40 to 42, wherein The BIG creation synchronization request further includes BIS information that needs to stop synchronization.
44. The synchronization device according to claim 43, wherein, The BIS information that needs to stop synchronization includes the number of BISs that need to stop synchronization and / or parameter descriptions.
45. The synchronization device according to any one of claims 40 to 42, wherein The BIG creation synchronization request is a low-power LE BIG creation synchronization command.
46. The synchronization device according to any one of claims 40 to 45, wherein, The BIG creation synchronization request is an LE BIG creation synchronization command that includes BIS information that needs to stop synchronization.
47. The synchronization device according to any one of claims 40 to 46, wherein, The synchronization device further includes: a second receiving unit, configured to receive a BIG synchronization result from the controller, where the BIG synchronization result includes information on a set of BISs that have lost synchronization.
48. The synchronization device according to claim 47, wherein, The information on the set of BISs that have lost synchronization includes the number of BISs that have lost synchronization and / or connection handles corresponding to the BISs that have lost synchronization.
49. The synchronization device according to claim 47 or 48, wherein, The BIG synchronization result is an HCI LE BIG synchronization establishment update event, and the HCI LE BIG synchronization establishment update event includes the information on the set of BISs that have lost synchronization.
50. The synchronization device according to claim 47 or 48, wherein, The BIG synchronization result is an HCI LE BIG synchronization establishment event that includes the information on the set of BISs that have lost synchronization.
51. A synchronization device, comprising: A processor and a memory, where the memory is configured to store a computer program, and the processor is configured to call and run the computer program stored in the memory, so that the synchronization device executes the method according to any one of claims 1 to 14.
52. A synchronization device, comprising: A processor and a memory, where the memory is configured to store a computer program, and the processor is configured to call and run the computer program stored in the memory, so that the synchronization device executes the method according to any one of claims 15 to 25.
53. A chip, comprising: A processor, configured to call and run a computer program from a memory, so that a device installed with the chip executes the method according to any one of claims 1 to 14.
54. A chip, comprising: A processor, configured to call and run a computer program from a memory, such that a device installed with the chip executes the method according to any one of claims 15 to 25.
55. A computer-readable storage medium, configured to store a computer program, such that when the computer program is run by a device, the device executes the method according to any one of claims 1 to 14.
56. A computer-readable storage medium, configured to store a computer program, such that when the computer program is run by a device, the device executes the method according to any one of claims 15 to 25.
57. A computer program product, comprising computer program instructions, which cause a computer to execute the method according to any one of claims 1 to 14.
58. A computer program product, comprising computer program instructions, which cause a computer to execute the method according to any one of claims 15 to 25.
Citation Information
Patent Citations
A source device broadcasts synchronization information associated with a bluetooth isochronous channel
CN108702720A
Topology switching method, device, system and storage medium based on synchronous link
CN110383767A