Time synchronization method and apparatus, electronic device, and storage medium
Patent Information
- Application Number
- PCT/CN2025/078605
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-21
- Publication Date
- 2026-08-27
Smart Images

Figure CN2025078605_27082026_PF_FP_ABST
Abstract
Description
Time synchronization methods, devices, electronic equipment and storage media Technical Field
[0001] This disclosure relates to a time synchronization method, apparatus, electronic device, and storage medium. Background Technology
[0002] The primary interaction method for Virtual Reality (VR) or Augmented Reality (AR) all-in-one headsets is through controllers. For controllers, real-time and stable posture tracking is crucial for user experience. Controller posture typically relies on environmental information capture devices mounted on the controller, such as cameras, light-emitting diodes (LEDs), inertial measurement units (IMUs), electromagnetic coils, and ultrasonic sensors. The controllers work in conjunction with the head-mounted display to achieve the desired VR or AR functions. Summary of the Invention
[0003] At least one embodiment of this disclosure provides a time synchronization method applied to a first device, the method comprising: sending a synchronization request to a second device and recording a first moment when the synchronization request is sent; receiving a synchronization signal sent by the second device and recording a second moment when the synchronization signal is received, wherein the synchronization signal includes a third moment when the second device receives the synchronization request; and updating a system clock based on the first moment, the second moment, and the third moment.
[0004] For example, in a time synchronization method for a first device provided in at least one embodiment of this disclosure, updating the system clock based on the first time, the second time, and the third time includes: updating the system clock according to the formula t = T1 + (t1 - t0) / 2, where t represents the updated system clock, t0 represents the first time, t1 represents the second time, and T1 represents the third time.
[0005] For example, at least one embodiment of this disclosure provides a time synchronization method applied to a first device, which further includes: in response to sending the synchronization request, causing the first device to enter a first state.
[0006] For example, in a time synchronization method for a first device provided in at least one embodiment of this disclosure, before sending the synchronization request to the second device, the method further includes: sending an initial synchronization request to the second device, wherein the initial synchronization request causes the second device to enter a first state; and receiving an initial synchronization signal sent by the second device.
[0007] For example, at least one embodiment of this disclosure provides a time synchronization method applied to a first device, which further includes: in response to sending the initial synchronization request, causing the first device to enter the first state.
[0008] For example, at least one embodiment of this disclosure provides a time synchronization method applied to a first device, which further includes: in response to sending the initial synchronization request, recording a fourth moment when the initial synchronization request is sent; and in response to receiving the initial synchronization signal, recording a fifth moment when the initial synchronization signal is received.
[0009] For example, in a time synchronization method applied to a first device provided in at least one embodiment of this disclosure, the initial synchronization signal includes the sixth moment when the second device receives the initial synchronization request.
[0010] For example, at least one embodiment of this disclosure provides a time synchronization method applied to a first device, which further includes: updating the system clock based on the fourth time, the fifth time, and the sixth time in response to obtaining the fourth time, the fifth time, and the sixth time.
[0011] For example, in a time synchronization method for a first device provided in at least one embodiment of this disclosure, updating the system clock based on the fourth time, the fifth time, and the sixth time includes: updating the system clock according to the formula t' = T2 + (t3 - t2) / 2, where t' represents the updated system clock, t2 represents the fourth time, t3 represents the fifth time, and T2 represents the sixth time.
[0012] For example, at least one embodiment of this disclosure provides a time synchronization method applied to a first device, which further includes: in response to receiving the synchronization signal, causing the first device to enter a second state.
[0013] For example, in a time synchronization method for a first device provided in at least one embodiment of this disclosure, in the first state, the first device and / or the second device stop transmitting and receiving sensor data.
[0014] For example, in a time synchronization method for a first device provided in at least one embodiment of this disclosure, before sending the synchronization request to the second device, the method further includes: pairing the first device and the second device.
[0015] For example, in a time synchronization method applied to a first device provided in at least one embodiment of this disclosure, the first device is a motion controller and the second device is a head-mounted display; or the first device is the head-mounted display and the second device is the motion controller.
[0016] At least one embodiment of this disclosure provides a time synchronization method applied to a second device, comprising: receiving a synchronization request sent by a first device; sending a synchronization signal to the first device, wherein the synchronization signal includes a third time at which the second device receives the synchronization request; wherein the third time, as well as the first time at which the first device sends the synchronization request and the second time at which it receives the synchronization signal, are used to update the system clock of the first device.
[0017] For example, in a time synchronization method for a second device provided in at least one embodiment of this disclosure, before receiving the synchronization request sent by the first device, the method further includes: receiving an initial synchronization request sent by the first device, wherein the initial synchronization request causes the second device to enter a first state; and sending an initial synchronization signal to the first device.
[0018] For example, at least one embodiment of this disclosure provides a time synchronization method applied to a second device, which further includes: in response to sending the synchronization signal, causing the second device to enter a second state.
[0019] At least one embodiment of this disclosure provides a time synchronization device, disposed in a first device. The device includes: a request sending unit configured to send a synchronization request to a second device and record a first time when the synchronization request is sent; a signal receiving unit configured to receive a synchronization signal sent by the second device and record a second time when the synchronization signal is received, wherein the synchronization signal includes a third time when the second device receives the synchronization request; and a calculation unit configured to update the system clock based on the first time, the second time, and the third time.
[0020] At least one embodiment of this disclosure provides a time synchronization device disposed in a second device. The device includes: a request receiving unit configured to receive a synchronization request sent by a first device; and a signal sending unit configured to send a synchronization signal to the first device, wherein the synchronization signal includes a third time at which the second device receives the synchronization request; wherein the third time, as well as the first time at which the first device sends the synchronization request and the second time at which it receives the synchronization signal, are used to update the system clock of the first device.
[0021] At least one embodiment of this disclosure provides an electronic device, including: at least one memory configured to store computer-executable instructions; and at least one processor configured to execute the computer-executable instructions, wherein the computer-executable instructions, when executed by the at least one processor, implement the time synchronization method described above.
[0022] At least one embodiment of this disclosure provides a non-transitory storage medium for non-transitory storage of computer-executable instructions, wherein the time synchronization method described above is implemented when the computer-executable instructions are executed by at least one processor. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of this disclosure, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 is a schematic flowchart of a time synchronization method provided in at least one embodiment of the present disclosure;
[0025] Figure 2 is a schematic diagram of a virtual reality device;
[0026] Figure 3 is a schematic flowchart of another time synchronization method provided in at least one embodiment of the present disclosure;
[0027] Figure 4 is a schematic flowchart of another time synchronization method provided in at least one embodiment of the present disclosure;
[0028] Figure 5 is a schematic flowchart of a time synchronization method provided in at least one embodiment of the present disclosure;
[0029] Figure 6 is a schematic diagram of a time synchronization method provided in at least one embodiment of the present disclosure;
[0030] Figure 7 is a schematic diagram of another time synchronization method provided by at least one embodiment of the present disclosure;
[0031] Figure 8 is a schematic diagram of another time synchronization method provided by at least one embodiment of the present disclosure;
[0032] Figure 9 is a schematic diagram of an application scenario of a time synchronization method provided by at least one embodiment of the present disclosure;
[0033] Figure 10 is a schematic block diagram of a time synchronization device provided in at least one embodiment of the present disclosure;
[0034] Figure 11 is a schematic block diagram of another time synchronization device provided in at least one embodiment of the present disclosure;
[0035] Figure 12 is a schematic block diagram of an electronic device provided in at least one embodiment of the present disclosure;
[0036] Figure 13 is a schematic block diagram of another electronic device provided in at least one embodiment of the present disclosure; and
[0037] Figure 14 is a schematic diagram of a storage medium provided in at least one embodiment of the present disclosure. Detailed Implementation
[0038] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0039] Unless otherwise defined, the technical or scientific terms used in this disclosure shall have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms “first,” “second,” and similar terms used in this disclosure do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Similarly, the terms “an,” “a,” or “the,” and similar terms do not indicate a quantity limitation, but rather indicate the presence of at least one. The terms “including,” “comprising,” or “containing,” and similar terms mean that the element or object preceding the word encompasses the elements or objects listed following the word and their equivalents, without excluding other elements or objects. The terms “connected,” “linked,” or similar terms are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. The terms “upper,” “lower,” “left,” and “right,” etc., are used only to indicate relative positional relationships, and these relative positional relationships may change accordingly when the absolute position of the described objects changes.
[0040] Time synchronization refers to using certain technical means to ensure that the clock times of two or more devices are consistent or within an acceptable error range. The time here usually refers to absolute time, such as Coordinated Universal Time (UTC), but it can also be relative time, used to ensure the sequence and coordination of operations between devices. In many application scenarios, such as distributed systems, communication networks, and industrial automation, it is often necessary to ensure time synchronization between two devices.
[0041] Taking virtual reality devices as an example, motion controllers are typically called handles (or gamepads), and head-mounted displays are called head-mounted displays (or head-mounted displays). Head-mounted displays generally include a system-on-a-chip (SOC) platform, storage units, a six-degree-of-freedom (6DOF) tracking camera, an inertial measurement unit (IMU), and communication devices. Handles typically have a separate microcontroller unit (MCU), an infrared light-emitting diode (LED), an IMU, and communication devices. Head-mounted displays, through their onboard cameras and IMUs, undergo complex calibration, real-time algorithm tracking, and low-latency rendering to achieve tracking and virtual content presentation. Handles, on the other hand, reuse the head-mounted display's camera and the hand's IMU, coupling visual, inertial, and head posture information to obtain the hand's posture, thereby enabling virtual presentation of the hand and interaction with the head-mounted display's virtual content.
[0042] However, the camera at the head-mounted display and the inertial measurement unit (IMU) at the controller are physically isolated from each other, each relying on different clock sources. The coupling between these two types of information is inevitably affected by timing. Furthermore, the two independent clock sources will exhibit varying degrees of clock drift, which will amplify the time difference over long periods of operation. If an image from time A is coupled with IMU data from time B, the result will inevitably be distorted; therefore, time synchronization is crucial.
[0043] The controllers and head-mounted display (HMD) need to be paired for use and are both equipped with wireless communication devices. Once paired, the HMD and controllers can communicate wirelessly with each other based on their respective communication devices. The communication latency is typically between one and tens of milliseconds, and is affected by factors such as transmission protocol, transmission distance, and the amount of data transmitted. The head-mounted display (HMD) needs to process large amounts of image data, inertial navigation data, and complex content rendering in real time during operation. It may also need to transmit camera-related information from the HMD to the controllers, while the controllers also need to transmit high-frequency inertial data captured by sensors to the HMD in real time via wireless communication. Both the head and controllers have high resource loads, which introduces latency uncertainties into subsequent time synchronization.
[0044] Regarding time alignment, the usual solution is to send the time from one end to the other end via wireless signal for updating. This method can achieve time alignment between the two ends, but the accuracy is not high, it introduces transmission delay, and it is greatly affected by the transmission method.
[0045] To address the aforementioned technical problems, embodiments of this disclosure provide a time synchronization method and apparatus. This method compensates for transmission delay through bidirectional transmission, enabling more precise time synchronization and achieving higher synchronization accuracy.
[0046] This disclosure provides at least one embodiment of a time synchronization method, apparatus, electronic device, and storage medium. The time synchronization method, applied to a first device, includes: sending a synchronization request to a second device and recording a first moment when the synchronization request is sent; receiving a synchronization signal sent by the second device and recording a second moment when the synchronization signal is received, wherein the synchronization signal includes a third moment when the second device receives the synchronization request; and updating the system clock based on the first moment, the second moment, and the third moment.
[0047] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings, but this disclosure is not limited to these specific embodiments.
[0048] Figure 1 is a schematic flowchart of a time synchronization method provided in at least one embodiment of the present disclosure. As shown in Figure 1, the time synchronization method includes at least steps S110 to S130, which are performed, for example, by a first device.
[0049] S110: Send a synchronization request to the second device and record the first moment the synchronization request is sent.
[0050] S120: Receive the synchronization signal sent by the second device and record the second moment of receiving the synchronization signal, wherein the synchronization signal includes the third moment when the second device receives the synchronization request.
[0051] S130: Update the system clock based on the first, second, and third time points.
[0052] For example, this time synchronization method can be applied to virtual reality (VR) devices, augmented reality (AR) devices, and extended reality (XR) devices. For instance, in some embodiments, the first device can be a motion controller and the second device can be a head-mounted display; or the first device can be a head-mounted display and the second device can be a motion controller. This allows for flexible usage. For example, the motion controller can be a gamepad, data glove, foot controller, etc. This disclosure does not limit the types and application scenarios of the first and second devices.
[0053] Figure 2 is a schematic diagram of a virtual reality device. As shown in Figure 2, the motion controller 21 is also referred to as the handle end, and the head-mounted display 22 is also referred to as the head-mounted display end. For example, the time synchronization method described above can be applied to the scenario shown in Figure 2, where the motion controller 21 can be used as the first device and the head-mounted display 22 can be used as the second device. Alternatively, in other examples, the head-mounted display 22 can be used as the first device, and the motion controller 21 can be used as the second device. By utilizing the time synchronization method described above, time synchronization can be achieved between the motion controller 21 and the head-mounted display 22.
[0054] For example, in some embodiments, the priority of the task or thread running the time synchronization method can be set to the highest in the first and / or second device to improve response speed and thus improve synchronization accuracy. For example, in applications where the first device is a gamepad, the gamepad has a separate microcontroller unit (MCU) device, and the gamepad's functions can be decomposed into multiple tasks (or threads) through a real-time operating system (RTOS), such as one task handling time synchronization and another handling sensor data; for example, when creating a time synchronization task, the priority of the time synchronization task can be specified as the highest through a function. For example, in applications where the second device is a head-mounted display, the head-mounted display generally has a system-on-a-chip (SOC) platform, and the priority of the thread can also be set or modified through functions or application programming interfaces (APIs) to make the thread running the time synchronization method have the highest priority.
[0055] For example, in some embodiments, the first device may enter a first state in response to sending a synchronization request. For example, the first state refers to suspending non-essential work or necessary but temporarily interruptible work, such as work related to large-scale data transmission between the first and second devices. Entering the first state ensures that the first / second device can respond immediately upon receiving the next signal, thereby improving response speed and synchronization accuracy. For example, in some embodiments, the first state may refer to the first and / or second device ceasing to transmit and receive sensor data. For example, the sensor data stopped in the first state may be sensor data with a high sampling rate or high transmission frequency, such as IMU data, camera data, etc. The specific definition of the first state can be designed and adjusted according to actual conditions, and the embodiments of this disclosure do not limit this.
[0056] For example, synchronization requests and synchronization signals can be transmitted wirelessly. For example, the transmission methods for synchronization requests and synchronization signals are the same. For example, wireless communication can be achieved through Bluetooth modules, Wi-Fi modules, ZigBee modules, dedicated communication chips, etc. For example, wireless communication can be implemented through general or proprietary communication protocols. For example, wireless communication can be implemented through dedicated communication chips, such as a custom 2.4GHz proprietary communication protocol. For example, the data packet format of a proprietary communication protocol can be optimized according to application requirements, such as reducing protocol layer overhead to achieve low latency and high throughput.
[0057] For example, the first device can record the first and third moments using a timer. For instance, the first device can start the timer before sending a synchronization request, and at the instant the synchronization request is sent, read the timer's count value and convert it into the corresponding time value as the first moment. Alternatively, the first device can record the first and third moments using a Real-Time Clock (RTC) module. For instance, the first device can read the time value from the RTC module at the instant the synchronization request is sent and record it as the first moment. Similarly, the second device can use a similar method and utilize a timer or RTC module set in the second device to record the second moment.
[0058] For example, updating the system clock could mean that the first device updates its system clock via a microcontroller (MCU), thereby adjusting its current system clock to a more accurate time value. Another example is that the first device can timestamp sensor data based on the updated system clock, thus achieving time synchronization between devices.
[0059] For example, in some embodiments, updating the system clock based on the first, second, and third time points can be done using the formula t = T1 + (t1 - t0) / 2, where t represents the updated system clock, t0 represents the first time point, t1 represents the second time point, and T1 represents the third time point. For instance, the system clock of the first device can be updated using the above formula. The above formula can also have many extended forms. For example, in achieving lower latency communication, compensation parameters such as path loss compensation and Doppler shift compensation can be added, or the weights of each compensation parameter can be defined according to the specific application characteristics. For example, the latency caused by the movement of the first device can be estimated, i.e., the first device may not be in the same location when it sends a synchronization request and when it receives a synchronization signal. In this case, the latency Δt caused by the movement of the first device can be estimated by estimating the movement distance of the first device, and the formula can be t = T1 - Δt + (t1 - t0) / 2. The estimated motion distance of the first device can be predicted through motion modeling between the head and hands, or estimated using the current measurement data from the inertial measurement unit (IMU) or camera of the first device. Alternatively, optimization algorithms such as the least squares method can be used to optimize the predicted and estimated results to ultimately obtain Δt. The types and specific implementations of the compensation parameters in the above formulas are not limited in the embodiments of this disclosure.
[0060] For example, synchronization requests and synchronization signals can be transmitted in the form of network data packets. For instance, a synchronization request can be an acknowledgment (ACK) message. As another example, synchronization signals can be transmitted after being encoded according to custom formats and rules. This disclosure does not limit the specific form of synchronization requests and synchronization signals.
[0061] For example, in some embodiments, before the first device sends a synchronization request to the second device, the method may further include pairing the first device and the second device. For example, the first device and the second device may pair via Bluetooth, Wi-Fi, Near Field Communication (NFC), or other pairing methods. For example, the first device and the second device may perform the aforementioned time synchronization method immediately after successful pairing or after a certain period of time.
[0062] The above method compensates for signal transmission delay by using round-trip timing, thereby achieving time synchronization between devices and improving time synchronization accuracy.
[0063] Figure 3 is a schematic flowchart of another time synchronization method provided in at least one embodiment of the present disclosure. As shown in Figure 3, the time synchronization method includes steps S210 to S250, which are performed, for example, by a first device.
[0064] S210: Send an initial synchronization request to the second device, wherein the initial synchronization request causes the second device to enter the first state.
[0065] S220: Receive the initial synchronization signal sent by the second device.
[0066] S230: Send a synchronization request to the second device and record the first moment the synchronization request is sent.
[0067] S240: Receive the synchronization signal sent by the second device and record the second moment of receiving the synchronization signal, wherein the synchronization signal includes the third moment when the second device receives the synchronization request.
[0068] S250: Update the system clock based on the first, second, and third time points.
[0069] For example, in some embodiments, the first device may enter a first state in response to sending an initial synchronization request.
[0070] For example, in some embodiments, in response to receiving a synchronization signal, the first device can enter a second state. For example, the second state can be the state of the device in normal operation (where transmission of sensor data can resume), or the state of the device before entering the first state.
[0071] For example, the initial synchronization request and the synchronization request, as well as the initial synchronization signal and the synchronization signal, can be of the same or different types and transmission methods. For instance, the initial synchronization request and the initial synchronization signal can be transmitted using Wi-Fi or Bluetooth communication, while the synchronization request and the synchronization signal can be transmitted using a proprietary communication protocol. Furthermore, the initial synchronization request and the initial synchronization signal can be of the same or different types and / or transmission methods. For example, the initial synchronization request and the initial synchronization signal can both be simple signals such as ACK messages.
[0072] It should be noted that the names of the aforementioned synchronization requests and initial synchronization requests are only used to distinguish synchronization requests issued at different times, and do not indicate any order, importance, etc. Similarly, the names of synchronization signals and initial synchronization signals are only used to distinguish signals issued at different times, and do not indicate any order, importance, etc.
[0073] In this example, by sending an initial synchronization request to put the second device into the first state, the second device can respond quickly when it receives the synchronization request, thereby improving the time synchronization accuracy.
[0074] For the specific implementation of steps S230 to S250 above, please refer to the relevant description of steps S110 to S130 in Figure 1, which will not be repeated here.
[0075] Figure 4 is a schematic flowchart of another time synchronization method provided by at least one embodiment of the present disclosure. As shown in Figure 4, Figure 4 includes steps S310 to S390, which are performed, for example, by a first device.
[0076] S310: Send an initial synchronization request to the second device, wherein the initial synchronization request causes the second device to enter the first state.
[0077] S320: In response to sending an initial synchronization request, the first device enters the first state.
[0078] S330: In response to sending the initial synchronization request, the first device records the fourth moment when the initial synchronization request was sent;
[0079] S340: Receive the initial synchronization signal sent by the second device, wherein the initial synchronization signal includes the sixth moment when the second device receives the initial synchronization request.
[0080] S350: In response to receiving the initial synchronization signal, the first device records the fifth moment of receiving the initial synchronization signal.
[0081] S360: In response to receiving the fourth, fifth, and sixth time points, update the system clock for the first time based on the fourth, fifth, and sixth time points.
[0082] S370: Send a synchronization request to the second device and record the first moment the synchronization request is sent.
[0083] S380: Receive the synchronization signal sent by the second device and record the second moment of receiving the synchronization signal, wherein the synchronization signal includes the third moment when the second device receives the synchronization request.
[0084] S390: The system clock is updated a second time based on the first update, the first moment, the second moment, and the third moment.
[0085] For example, in some embodiments, the first device enters a second state in response to receiving a synchronization signal. After receiving the synchronization signal, the communication required between the first and second devices to achieve time synchronization ends, thus allowing the first device to enter the second state.
[0086] For example, in some embodiments, updating the system clock for the first time based on the fourth, fifth, and sixth time points may include updating the system clock according to the formula t' = T2 + (t3 - t2) / 2, where t' represents the updated system clock, t2 represents the fourth time point, t3 represents the fifth time point, and T2 represents the sixth time point. For example, the system clock of the first device can be updated using the above formula. The above formula can also have many extended forms. For example, in achieving lower latency communication, compensation parameters such as path loss compensation and Doppler shift compensation can be added, or the weights of each compensation parameter can be defined according to the characteristics of the application. For example, the latency caused by the movement of the first device can be estimated, i.e., the first device may not be in the same location when it sends the initial synchronization request and when it receives the initial synchronization signal. In this case, the latency Δt' caused by the movement of the first device can be estimated by estimating the movement distance of the first device, and the formula can be t' = T2 - Δt' + (t3 - t2) / 2. The estimated motion distance of the first device can be predicted through motion modeling between the head and hands, or estimated using the current measurement data from the inertial measurement unit (IMU) or camera of the first device. Alternatively, optimization algorithms such as the least squares method can be used to optimize the predicted and estimated results to ultimately obtain Δt'. The types and specific implementations of the compensation parameters in the above formulas are not limited in the embodiments of this disclosure.
[0087] For example, the first system clock update is simply an initial update of the system clock. The second system clock update is based on the first update, using the obtained first, second, and third time points. Performing the first system clock update allows for coarse adjustment of time synchronization. Performing the second system clock update after the first update allows for fine adjustment of time synchronization. Since both the first and second devices are in the first state after the first system clock update, they can respond more quickly during the second update, reducing time delay and improving time synchronization accuracy. Furthermore, the first, second, and third time points recorded during the second update are more accurate, further enhancing the accuracy of the second system clock update.
[0088] For example, the fifth time point and the first time point can be the same or different. For instance, the first device can send a synchronization request immediately upon receiving the initial synchronization signal, in which case the fifth time point and the first time point are the same, i.e., t3 = t0. Alternatively, in some embodiments, the first device can send the synchronization request some time after receiving the initial synchronization signal, in which case the fifth time point and the first time point are different. This method of the first device sending the synchronization request some time after receiving the initial synchronization signal provides sufficient time for both the first and second devices to enter the first state, thereby ensuring that both devices fully enter the first state. This improves the device response speed, reduces transmission errors between devices, and enhances time synchronization accuracy.
[0089] For example, in some embodiments, when the first device receives the initial synchronization signal and sends the synchronization request at the same time, i.e., the fifth time and the first time are the same, the first device can record the time only once, which is used as both the fifth time and the first time. In this case, the first device records the time when it receives the initial synchronization signal and simultaneously sends the synchronization request. The recorded time is used as both the fifth time and the first time. The operation of the first device to update the system clock based on the fourth time, the fifth time, and the sixth time can be performed immediately after sending the synchronization request, that is, after sending the synchronization request and before receiving the synchronization signal.
[0090] For example, the first device may only record the fifth time point and no longer record the first time point. For example, the first device may update the system clock a first time based on the fourth, fifth, and sixth times, and then update the system clock a second time based on the fifth, second, and third times. In this case, step S370 is: sending a synchronization request to the second device. Correspondingly, step S390 is: updating the system clock a second time based on the first updated system clock, the fifth time point, the second time point, and the third time point.
[0091] It should be noted that the terms "first", "second", "third", "fourth", "fifth", and "sixth" in the first, second, third, fourth, fifth, and sixth moments are only used to distinguish different moment names and do not indicate any order, importance, or chronological relationship.
[0092] For specific implementation methods of steps S310 to S390 above, please refer to the relevant descriptions of steps S110 to S130 in Figure 1 and steps S210 to S250 in Figure 3, which will not be repeated here.
[0093] At least one embodiment of this disclosure also provides a time synchronization method. The method is applied to a second device and includes: receiving a synchronization request sent by a first device; sending a synchronization signal to the first device, wherein the synchronization signal includes a third time at which the second device receives the synchronization request; wherein the third time, the first time at which the first device sends the synchronization request, and the second time at which it receives the synchronization signal are used to update the system clock of the first device.
[0094] Figure 5 is a schematic flowchart of a time synchronization method provided in at least one embodiment of the present disclosure. As shown in Figure 5, the time synchronization method includes at least steps S410 to S420, which are performed, for example, by a second device.
[0095] Step S410: Receive the synchronization request sent by the first device.
[0096] Step S420: Send a synchronization signal to the first device, wherein the synchronization signal includes a third moment when the second device receives the synchronization request; wherein the third moment, the first moment when the first device sends the synchronization request, and the second moment when it receives the synchronization signal are used to update the system clock of the first device.
[0097] For example, in some embodiments, before receiving the synchronization request sent by the first device, the method may further include: receiving an initial synchronization request sent by the first device, wherein the initial synchronization request causes the second device to enter a first state; and sending an initial synchronization signal to the first device. For example, the initial synchronization signal may include the sixth moment when the second device receives the initial synchronization request, or the initial synchronization signal may simply be a signal such as an ACK message.
[0098] For example, in some embodiments, the second device enters a second state in response to the transmission of a synchronization signal. After the synchronization signal is transmitted, the communication required between the second device and the first device to achieve time synchronization ends, thus allowing the second device to enter the second state.
[0099] The specific implementation methods of the above steps S410 to S420 can be found in the relevant descriptions of steps S110 to S130 in Figure 1, steps S210 to S250 in Figure 3, and steps S310 to S390 in Figure 4, and will not be repeated here.
[0100] It is important to note that the time synchronization method described above can be repeatedly executed during the operation of both the first and second devices. For example, the first and second devices can execute the time synchronization method at preset time intervals, such as every 1 second or 10 seconds, until the first and / or second devices stop operating. Alternatively, the time synchronization method can also be executed by user-triggered actions during the operation of both devices. For instance, in virtual device applications, the time synchronization method can be executed by triggering a button on the controller, such as a reset button (or by using voice control, touch control, or other methods). For example, in a system where the time synchronization method is scheduled to execute every 10 seconds, with the 1st and 10th seconds planned, the 5th second could be achieved by triggering the reset button on the controller. By allowing users to actively trigger this method, the timing of the time synchronization is made more flexible, increasing its fault tolerance.
[0101] It is important to note that in many application scenarios, such as virtual reality devices, there can be multiple primary devices. For example, a virtual reality system may have one headset and multiple controllers. In this case, the time synchronization method performed by each secondary device and the primary device is similar to the time synchronization method described above, and will not be repeated here.
[0102] The above methods can improve the response speed between devices, reduce transmission time errors, and achieve higher-precision time synchronization between devices based on the initial time synchronization between devices.
[0103] Figure 6 is a schematic diagram of a time synchronization method provided by at least one embodiment of the present disclosure. The steps S110-S130 in Figure 1 and steps S410-S420 in Figure 5 will be further explained below with reference to Figure 6.
[0104] As shown in Figure 6, the handle end can be used as the first device, and the head-mounted display end can be used as the second device. The workflow can be divided into the following steps:
[0105] Device Power-On and Pairing: After powering on the device, pair it with the headset, then check if the controller and headset are successfully paired. If unsuccessful, return and try pairing again; if successful, proceed to the next step.
[0106] First operation on the controller: The controller sends a synchronization request and records the current time t0.
[0107] First operation of the head-mounted display: After receiving the signal from the controller, the head-mounted display sends the system time T1.
[0108] Controller-side time update: After receiving the time signal, the controller records the current time t1. The controller updates the system clock as t = T1 + (t1 - t0) / 2.
[0109] Synchronization complete: After completing the above steps, the single time synchronization ends.
[0110] Figure 7 is a schematic diagram of another time synchronization method provided by at least one embodiment of the present disclosure. Steps S210-S250 in Figure 3 and steps S410-S420 in Figure 5 will be further explained below with reference to Figure 7.
[0111] As shown in Figure 7, the handle end can be used as the first device, and the head-mounted display end can be used as the second device. The workflow can be divided into the following steps:
[0112] Device power-on and pairing: After powering on the device, perform device pairing. If pairing fails, return to try pairing again; if pairing is successful, proceed to the next step.
[0113] First operation on the controller: The controller sends a synchronization request and then enters the first state.
[0114] First operation of the head-mounted display: After receiving the signal from the controller, the head-mounted display enters the first state.
[0115] Second operation on the controller: After receiving the signal from the head-mounted display for the first time, the controller sends out a signal again and records the current time t0.
[0116] Second operation of the head-mounted display: After receiving the signal from the controller again, the head-mounted display immediately sends out the current system time T1 and enters the second state.
[0117] Controller update time: After the controller receives the signal from the head-mounted display for the second time, it records the current time t1, updates the system clock t = T1 + (t1 - t0) / 2, and enters the second state to wait for the next synchronization.
[0118] Synchronization complete: Once the above steps are completed, the single time synchronization ends.
[0119] Figure 8 is a schematic diagram of another time synchronization method provided by an embodiment of this disclosure. The steps S310-S390 in Figure 4 and steps S410-S420 in Figure 5 will be further explained below with reference to Figure 8.
[0120] As shown in Figure 8, the handle end can be used as the first device, and the head-mounted display end can be used as the second device. The workflow can be divided into the following steps:
[0121] Device Power-On and Pairing: After the device is powered on, it enters the device pairing phase. The pairing process checks whether pairing was successful. If pairing fails, it returns to the previous screen for re-pairing; if pairing is successful, it proceeds to the next step.
[0122] First operation on the controller: The controller sends a synchronization request and records the current time t2, then enters the first state.
[0123] First operation of the head-mounted display: After receiving the signal from the controller, the head-mounted display sends its own system time T2 and then enters the first state.
[0124] First time update on the controller: After the controller receives the time signal for the first time, it sends the signal again, records the current time t0, and updates the system clock to t' = T2 + (t0 - t2) / 2.
[0125] Second operation of the head-mounted display: After receiving the signal from the controller again, the head-mounted display immediately sends the current system time T1, and then enters the second state.
[0126] The second time update on the controller: After receiving the time signal for the second time, the controller records the current time t1, updates the system clock to t = T1 + (t1 - t0) / 2, and enters the second state to wait for the next synchronization.
[0127] Synchronization complete: Once the above steps are completed, this time synchronization will end.
[0128] In this example, the moment when the handle first receives the time signal and the moment when it sends the signal again are the same moment t0. That is, as described above, the fifth moment and the first moment can be the same moment.
[0129] The time synchronization method shown in Figures 6-8 above uses the head-mounted display's time as a reference, with the controllers initiating the time synchronization action. This is because head-mounted displays typically have more sensors and stronger computing capabilities, making this mode more convenient in actual operation. Furthermore, it is logically more reasonable for multiple controllers to simultaneously align their time with the head-mounted display. In other examples, the process can be reversed; that is, the time of a specific controller can be used as a reference, with the head-mounted display and other controllers acting as the initiators of time synchronization. When the reference controller stops working, the reference is automatically adjusted to another normally functioning controller, or the process terminates.
[0130] It should be noted that in the embodiments of this disclosure, the time synchronization method may include more or fewer steps, and the execution order of each step is not limited. It may also be executed in a different order than that shown in Figures 1 and 3-8, which can be determined according to actual needs.
[0131] Figure 9 is a schematic diagram of an application scenario of a time synchronization method provided by at least one embodiment of this disclosure. As shown in Figure 9, the controller 31 and the head-mounted display 32 transmit IMU data during operation. At this time, both devices are in the second state, thereby realizing the required VR or AR functions. When the system clock of the controller 31 reaches the predetermined time for time synchronization, the controller 31 and the head-mounted display 32 stop transmitting IMU data. The controller 31 sends an initial synchronization request and enters the first state, and the head-mounted display 32 receives the initial synchronization request and enters the first state. Subsequently, the head-mounted display 32 sends an initial synchronization signal to the controller 31. When the controller 31 receives the initial synchronization signal, it records the current time t0 and immediately sends a synchronization request to the head-mounted display 32. When the head-mounted display 32 receives the synchronization request and records the current time T1, it sends a synchronization signal to the controller 31, which includes the time T1. The head-mounted display 32 then enters the second state. When the controller 31 receives the synchronization signal, it records the current time t1, updates the system clock of the controller to t = T1 + (t1 - t0) / 2, and enters the second state. Afterwards, the controller end 31 and the head-mounted display end 32 resume transmitting IMU data.
[0132] For example, the controller and headset pairing begins operation in the first second and automatically synchronizes time every 10 seconds. At the 10th second, the user is playing a game. When the system clock reaches the 10th second, the controller sends a message to the headset via its wireless communication module. This message includes a synchronization request and terminates IMU data transmission with the headset. Upon receiving this data packet, the headset terminates IMU data transmission with the controller and quickly sends an ACK back to the controller. Upon receiving the ACK, the controller records the current time as t0 and immediately sends another message to the headset. The headset receives this message, records the current time as T1, embeds T1 into a specific field in the data packet, and returns it to the controller. At this point, the headset can begin IMU data transmission. Subsequently, the controller updates its system clock, adds a new timestamp to the IMU data, and resumes transmission.
[0133] For example, in other cases, when a user is playing a game and notices a slight delay between the screen on the headset and the actions on the controller, the user can press the reset button on the controller to manually trigger time synchronization. Upon pressing the reset button, the controller immediately detects this action and sends a manual synchronization request signal to the headset. At this point, the controller immediately stops data transmission with the headset. This request signal is transmitted via the wireless communication module using a proprietary communication protocol and includes the controller's device identifier. Upon receiving the manual synchronization request, the headset quickly enters a synchronization preparation state, stopping data transmission with the controller, and sends a manual synchronization response signal to the controller. This response signal is also sent via the proprietary communication protocol. Upon receiving the manual synchronization response signal, the controller records the current time as t0 and immediately sends a manual synchronization confirmation signal to the headset. Upon receiving the manual synchronization confirmation signal, the headset records the current time as T1 and transmits a manual synchronization completion signal carrying time T1 to the controller. After receiving the manual synchronization completion signal, the controller records the current time as t1 and updates its system clock according to the formula t = T1 + (t1 - t0) / 2. After completing this series of operations, the controller returns to the second normal operating state.
[0134] Figure 10 is a schematic block diagram of a time synchronization device provided in at least one embodiment of the present disclosure. As shown in Figure 10, the time synchronization device 500 is disposed in a first device and includes: a request sending unit 510, a signal receiving unit 520, and a calculation unit 530.
[0135] For example, the request sending unit 510 is configured to send a synchronization request to the second device and record the first moment of sending the synchronization request.
[0136] For example, the signal receiving unit 520 is configured to receive a synchronization signal sent by the second device and record a second moment when the synchronization signal is received, wherein the synchronization signal includes a third moment when the second device receives the synchronization request.
[0137] For example, computing unit 530 is configured to update the system clock based on a first time point, a second time point, and a third time point.
[0138] For example, the request sending unit 510 can be used to implement step S110 shown in FIG1, the signal receiving unit 520 can be used to implement step S120 shown in FIG1, and the calculation unit 530 can be used to implement step S130 shown in FIG1. Therefore, for a detailed description of the functions that the request sending unit 510, the signal receiving unit 520, and the calculation unit 530 can achieve, please refer to the relevant descriptions of steps S110 to S130 in the embodiments of the time synchronization method described above; repeated descriptions will not be repeated here. Furthermore, the time synchronization device 500 can achieve similar technical effects to the time synchronization method, and will not be described further here.
[0139] Figure 11 is a schematic block diagram of a time synchronization device provided in at least one embodiment of the present disclosure.
[0140] As shown in Figure 11, the time synchronization device 600 is installed in the second device and includes: a request receiving unit 610 and a signal sending unit 620.
[0141] For example, the request receiving unit 610 is configured to receive a synchronization request sent by the first device.
[0142] For example, signal transmitting unit 620 is configured to send a synchronization signal to a first device, wherein the synchronization signal includes a third moment when the second device receives the synchronization request; wherein the third moment, the first moment when the first device sends the synchronization request, and the second moment when it receives the synchronization signal are used to update the system clock of the first device.
[0143] For example, the request receiving unit 610 can be used to implement step S410 shown in FIG. 5, and the signal transmitting unit 620 can be used to implement step S420 shown in FIG. 5. Therefore, for a detailed description of the functions that the request receiving unit 610 and the signal transmitting unit 620 can achieve, please refer to the relevant descriptions of steps S410 to S420 in the embodiments of the time synchronization method described above; repeated descriptions will not be repeated here. Furthermore, the time synchronization device 600 can achieve similar technical effects to the time synchronization method, and will not be described further here.
[0144] It should be noted that in at least one embodiment of this disclosure, the time synchronization device 500 and the time synchronization device 600 may include more or fewer circuits or units, and the connection relationship between the various circuits or units is not limited and can be determined according to actual needs. The specific configuration of each circuit or unit is not limited and can be constructed from analog devices, digital chips, or other suitable methods according to circuit principles.
[0145] Figure 12 is a schematic block diagram of an electronic device according to at least one embodiment of the present disclosure. As shown in Figure 12, the electronic device 700 includes at least one processor 710 and at least one memory 720. The memory 720 is used to non-transitory store computer-readable instructions (e.g., one or more computer program modules). The processor 710 is used to execute the computer-readable instructions, which, when executed by the processor 710, can perform one or more steps in the time synchronization method described above. The memory 720 and the processor 710 can be interconnected via a bus system and / or other forms of connection mechanisms, which are not limited by the embodiments of the present disclosure.
[0146] For example, processor 710 may be a central processing unit (CPU), a graphics processing unit (GPU), or other form of processing unit with data processing and / or program execution capabilities. For example, the central processing unit (CPU) may be a RISC architecture (e.g., RISC-V). Processor 710 may be a general-purpose processor or a special-purpose processor, capable of controlling other components in electronic device 700 to perform desired functions.
[0147] For example, memory 720 may include any combination of one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, erasable programmable read-only memory (EPROM), portable compact disc read-only memory (CD-ROM), USB memory, flash memory, etc. One or more computer program modules may be stored on the computer-readable storage medium, and processor 710 may run one or more computer program modules to implement various functions of electronic device 700. Various application programs and various data, as well as various data used and / or generated by the application programs, may also be stored in the computer-readable storage medium.
[0148] It should be noted that, in the embodiments of this disclosure, the specific functions and technical effects of the electronic device 700 can be referred to the description of the time synchronization method above, and will not be repeated here.
[0149] Figure 13 is a schematic block diagram of another electronic device provided in at least one embodiment of the present disclosure.
[0150] The electronic devices in this disclosure may include mobile terminals such as mobile phones, laptops, digital broadcast receivers, personal digital assistants (PDAs), tablet computers (PADs), portable multimedia players (PMPs), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. The electronic device 800 shown in Figure 13 is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of this disclosure.
[0151] For example, as shown in Figure 13, in some examples, electronic device 800 includes a processor 801 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 802 or a program loaded from a storage device (not shown) into random access memory (RAM) 803. RAM 803 also stores various programs and data required for the operation of the computer system. Processor 801, ROM 802, and RAM 803 are connected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.
[0152] For example, the following components can be connected to I / O interface 805: input devices 806 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 807 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 808 including, for example, magnetic tapes, hard disks, etc.; and communication devices 809, such as network interface cards like LAN cards and modems, etc. Communication device 809 allows electronic device 800 to communicate wirelessly or wiredly with other devices to exchange data and perform communication processing via networks such as the Internet. Drive 810 is also connected to I / O interface 805 as needed. Removable media 811, such as disks, optical disks, magneto-optical disks, semiconductor memories, etc., are installed on drive 810 as needed so that computer programs read from them can be installed into storage devices as needed. Although FIG13 shows electronic device 800 including various devices, it should be understood that it is not required to implement or include all the devices shown. More or fewer devices may be implemented or included alternatively.
[0153] For example, the electronic device 800 may further include a peripheral interface (not shown in the figure). This peripheral interface can be various types of interfaces, such as a USB interface, a Lightning interface, etc. The communication device 809 can communicate wirelessly with a network and other devices, such as the Internet, an intranet, and / or a wireless network such as a cellular telephone network, a wireless local area network (LAN), and / or a metropolitan area network (MAN). Wireless communication can use any of a variety of communication standards, protocols, and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wi-Fi (e.g., based on IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11n standards), Voice over Internet Protocol (VoIP), Wi-MAX, protocols for email, instant messaging, and / or Short Message Service (SMS), or any other suitable communication protocol.
[0154] For example, the electronic device 800 can be any device such as a mobile phone, tablet computer, laptop computer, e-book, game console, television, digital photo frame, navigator, server, etc., or any combination of data processing device and hardware. The embodiments disclosed herein do not limit this.
[0155] At least one embodiment of this disclosure also provides a non-volatile computer-readable storage medium for non-transitory storage of computer-readable instructions, which, when executed by a computer, enable the aforementioned time synchronization method. Using this computer-readable storage medium, transmission delays can be compensated for through bidirectional transmission, achieving finer time synchronization and higher synchronization accuracy.
[0156] Figure 14 is a schematic diagram of a storage medium provided in at least one embodiment of the present disclosure. As shown in Figure 14, the non-volatile computer-readable storage medium 900 is used to store computer-readable instructions 910. For example, when the computer-readable instructions 910 are executed by a computer, one or more steps in the time synchronization method described above can be performed.
[0157] For example, the non-volatile computer-readable storage medium 900 can be used in the aforementioned electronic device 700 or electronic device 800. For example, further description of the non-volatile computer-readable storage medium 900 can be found in the corresponding description of the storage device in the electronic device 800 shown in FIG. 13, and will not be repeated here.
[0158] The following points need to be explained:
[0159] (1) The accompanying drawings of the embodiments of this disclosure only involve the structures involved in the embodiments of this disclosure. Other structures can be referred to the general design.
[0160] (2) Where there is no conflict, the embodiments of this disclosure and the features in the embodiments can be combined with each other to obtain new embodiments.
[0161] The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. The scope of protection of this disclosure should be determined by the scope of protection of the claims.
Claims
1. A time synchronization method, applied to a first device, comprising: Send a synchronization request to the second device and record the first moment when the synchronization request is sent; Receive the synchronization signal sent by the second device and record the second moment of receiving the synchronization signal, wherein the synchronization signal includes the third moment when the second device receives the synchronization request; The system clock is updated based on the first time point, the second time point, and the third time point.
2. The method of claim 1, wherein, Updating the system clock based on the first time point, the second time point, and the third time point includes: The system clock is updated according to the formula t = T1 + (t1 - t0) / 2. Where t represents the updated system clock, t0 represents the first time, t1 represents the second time, and T1 represents the third time.
3. The method according to claim 1, further comprising: In response to sending the synchronization request, the first device enters a first state.
4. The method according to claim 1, wherein before sending the synchronization request to the second device, the method further comprises: Send an initial synchronization request to the second device, wherein the initial synchronization request causes the second device to enter a first state; and Receive the initial synchronization signal sent by the second device.
5. The method according to claim 4, further comprising: In response to sending the initial synchronization request, the first device enters the first state.
6. The method according to claim 5, further comprising: In response to sending the initial synchronization request, the fourth moment when the initial synchronization request was sent is recorded; In response to receiving the initial synchronization signal, the fifth moment of receiving the initial synchronization signal is recorded.
7. The method of claim 6, wherein, The initial synchronization signal includes the sixth moment when the second device receives the initial synchronization request.
8. The method according to claim 7, further comprising: In response to obtaining the fourth time, the fifth time, and the sixth time, the system clock is updated based on the fourth time, the fifth time, and the sixth time.
9. The method of claim 8, wherein, Updating the system clock based on the fourth time point, the fifth time point, and the sixth time point includes: The system clock is updated according to the formula t' = T2 + (t3 - t2) / 2. Where t' represents the updated system clock, t2 represents the fourth time, t3 represents the fifth time, and T2 represents the sixth time.
10. The method according to any one of claims 5-9, further comprising: In response to receiving the synchronization signal, the first device enters the second state.
11. The method according to any one of claims 3-10, wherein, In the first state, the first device and / or the second device stop transmitting and receiving sensor data.
12. The method according to any one of claims 1-11, wherein before sending the synchronization request to the second device, the method further comprises: The first device and the second device are then paired.
13. The method of any one of claims 1-12, wherein, The first device is a motion controller, and the second device is a head-mounted display; or The first device is the head-mounted display, and the second device is the motion controller.
14. A time synchronization method, applied to a second device, comprising: Receive a synchronization request sent by the first device; Send a synchronization signal to the first device, wherein the synchronization signal includes a third moment when the second device receives the synchronization request; The third moment, the first moment when the first device sends the synchronization request, and the second moment when it receives the synchronization signal are used to update the system clock of the first device.
15. The method according to claim 14, further comprising, before receiving the synchronization request sent by the first device: Receive an initial synchronization request sent by the first device, wherein the initial synchronization request causes the second device to enter a first state; and Send an initial synchronization signal to the first device.
16. The method of claim 15, further comprising: In response to sending the synchronization signal, the second device enters the second state.
17. A time synchronization device, disposed in a first device, the device comprising: The request sending unit is configured to send a synchronization request to the second device and record the first moment when the synchronization request is sent; A signal receiving unit is configured to receive a synchronization signal sent by the second device and record a second moment when the synchronization signal is received, wherein the synchronization signal includes a third moment when the second device receives the synchronization request; The computing unit is configured to update the system clock based on the first time point, the second time point, and the third time point.
18. A time synchronization device, disposed in a second device, the device comprising: The request receiving unit is configured to receive synchronization requests sent by the first device; A signal transmitting unit is configured to send a synchronization signal to the first device, wherein the synchronization signal includes a third moment when the second device receives the synchronization request; The third moment, the first moment when the first device sends the synchronization request, and the second moment when it receives the synchronization signal are used to update the system clock of the first device.
19. An electronic device comprising: At least one memory configured to store computer-executable instructions; as well as At least one processor configured to execute the computer-executable instructions, The computer-executable instructions, when executed by the at least one processor, implement the time synchronization method according to any one of claims 1-16.
20. A non-transitory storage medium non-transitorily storing computer- executable instructions, wherein, When the computer-executable instructions are executed by at least one processor, the time synchronization method according to any one of claims 1-16 is implemented.