IP Library › Granted Patent US 11,039,411
Granted Patent B2
US 11,039,411 · App. 16/923,677 · Granted Jun 15, 2021

Synchronization method for synchronizing clocks of a Bluetooth device

Inventors: Thomas Girardier (Bourg la Reine, FR); Matthieu Guesnerot (Paris, FR); William Escande (Balma, FR)
Assignee: TAP SOUND SYSTEM
H04W56/001H04W4/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,039,411
App. No.
16/923,677
Granted
Jun 15, 2021
Kind
B2
Abstract

A Bluetooth device with a host system and a controller is disclosed. The host system supports a host stack of a Bluetooth protocol, and the controller supports a controller stack of the Bluetooth protocol. The device includes an interface for receiving, at the controller, a piconet-synchronized signal. The device also includes an interface for providing, by the controller to the host system, a derivative of the piconet-synchronized signal. The device also includes a circuit for determining a latency of the providing. The device also includes a circuit for synchronizing, at the host system of the Bluetooth device, a host clock with a timing reference of a master device of the Bluetooth piconet using said latency and the derivative of the piconet-synchronized signal.

Claims (84)

1. A method for synchronizing a host system of a Bluetooth device of a Bluetooth piconet with a timing reference of a master device of the Bluetooth piconet, said host system supporting a host stack of a Bluetooth protocol, and said Bluetooth device including a controller supporting a controller stack of the Bluetooth protocol, wherein the method comprises:

receiving, at the controller, a piconet-synchronized signal;

providing, by the controller to the host system, a derivative of the piconet-synchronized signal;

computing, by the host system, a latency of the providing; and

synchronizing, at the host system of the Bluetooth device, a host clock with the timing reference of the master device of the Bluetooth piconet using said latency and the derivative of the piconet-synchronized signal;

wherein the derivative of the piconet-synchronized signal is provided via an interface between the host system and the controller.

2. The method of claim 1 , wherein the latency is determined based on a predetermined value associated with the Bluetooth device.

3. The method of claim 2 , wherein the providing uses a synchronous message, a time of transmission of said synchronous message corresponds to said predetermined value.

4. The method of claim 1 , wherein the method further comprises, before the providing:

reading the derivative of the piconet-synchronized signal;

upon said reading, sending, by the controller to the host system a second synchronous message;

upon receiving said second synchronous message, reading by the host system the value of the host clock; and

wherein the latency is determined based on the second synchronous message.

5. The method of claim 4 wherein the latency is further determined based on a time of transmission of said second synchronous message.

6. The method of claim 1 , further comprising:

determining, at the controller of the Bluetooth device, a value function of a device Bluetooth clock based on when the piconet-synchronized signal is received;

wherein the value function of the device Bluetooth clock is the derivative of the piconet-synchronized signal; and

wherein the providing comprises providing the value function of the device Bluetooth clock to the host system.

7. The method of claim 6 , wherein the providing comprises:

reading, by the controller, a value of the value function of the device Bluetooth clock; and

sending from the controller, to the host system, the value of the value function of the device Bluetooth clock.

8. The method of claim 1 , further comprising:

receiving, at the controller of the Bluetooth device, a second piconet-synchronized signal;

providing, by the controller to the host system, the second piconet-synchronized signal; and

wherein the synchronizing is based on a first counter in the piconet-synchronized signal and a second counter in the second piconet-synchronized signal.

9. The method of claim 8 , wherein the piconet-synchronized signal and the second piconet-synchronized signal are broadcast on an Active Slave Broadcast transport of the Bluetooth Piconet.

10. The method of claim 1 , wherein the host system and controller run on the same processor.

11. The method of claim 1 , wherein the host system and controller run on two separate processors.

12. A Bluetooth device of a Bluetooth piconet, said Bluetooth device comprising a host system and a controller, said host system supporting a host stack of a Bluetooth protocol, and the controller supporting a controller stack of the Bluetooth protocol, wherein the Bluetooth device comprises:

an interface for receiving, at the controller, a piconet-synchronized signal;

an interface for providing, by the controller to the host system, a derivative of the piconet-synchronized signal;

a circuit for computing, by the host system, a latency of the providing; and

a circuit for synchronizing, at the host system of the Bluetooth device, a host clock with a timing reference of a master device of the Bluetooth piconet using said latency and the derivative of the piconet-synchronized signal;

wherein the derivative of the piconet-synchronized signal is provided via an interface between the host system and the controller.

13. The Bluetooth device of claim 12 , wherein the latency is determined based on a predetermined value associated with the Bluetooth device.

14. The Bluetooth device of claim 12 , wherein the host system and controller run on the same processor.

15. The Bluetooth device of claim 12 , wherein the host system and controller run on two separate processors.

16. A non-transitory computer readable storage medium, having stored thereon a computer program comprising program instructions, the computer program being loadable into a data-processing unit and adapted to cause the data-processing unit to carry out steps of a method for synchronizing a host system of a Bluetooth device of a Bluetooth piconet with a timing reference of a master device of the Bluetooth piconet, when the computer program is run by the data-processing unit, said host system supporting a host stack of a Bluetooth protocol, and said Bluetooth device including a controller supporting a controller stack of the Bluetooth protocol, wherein the method comprises:

receiving, at the controller, a piconet-synchronized signal;

providing, by the controller to the host system, a derivative of the piconet-synchronized signal;

computing, by the host system, a latency of the providing; and

synchronizing, at the host system of the Bluetooth device, a host clock with the timing reference of the master device of the Bluetooth piconet using said latency and the derivative of the piconet-synchronized signal;

wherein the derivative of the piconet-synchronized signal is provided via an interface between the host system and the controller.

17. The non-transitory computer readable storage medium of claim 16 , wherein the latency is determined based on a predetermined value associated with the Bluetooth device.

18. The non-transitory computer readable storage medium of claim 16 , wherein the host system and controller run on the same processor.

19. The non-transitory computer readable storage medium of claim 16 , wherein the host system and controller run on two separate processors.

20. A method for rendering audio signals, the method being performed by a Bluetooth audio sink device configured to be wirelessly connected to a Bluetooth master device, the Bluetooth audio sink device comprising a host system supporting a host stack of a Bluetooth protocol and a controller supporting a controller stack of the Bluetooth protocol, the method comprising:

synchronizing a host clock of the Bluetooth audio sink device with a master timing reference by:

(i) receiving, at the controller, a piconet-synchronized signal;

(ii) providing, by the controller to the host system, a derivative of the piconet-synchronized signal;

(iii) computing, by the host system, a latency of the providing; and

(iv) synchronizing, at the host system of the Bluetooth audio sink device, the host clock with the master timing reference using said latency and the derivative of the piconet-synchronized signal;

receiving at least one timestamped packet on a dedicated link established between the sink device and the Bluetooth master device; and

rendering an audio signal based on the at least one timestamped packet and on the synchronized host clock of the Bluetooth audio sink device;

wherein the derivative of the piconet-synchronized signal is provided via an interface between the host system and the controller.

21. The method of claim 20 , wherein said at least one timestamped packet contains mono audio data relative to a single audio channel.

22. The method of claim 20 , wherein the latency is determined based on a predetermined value associated with the Bluetooth audio sink device.

23. The method of claim 20 , wherein the host system and controller run on the same processor.

24. The method of claim 20 , wherein the host system and controller run on two separate processors.

25. A Bluetooth audio sink device comprising a host system supporting a host stack of a Bluetooth protocol and a controller supporting a controller stack of the Bluetooth protocol, the Bluetooth audio sink device comprising:

a circuit for being wirelessly connected to a Bluetooth master device;

a circuit for synchronizing a host clock of the Bluetooth audio sink device by:

(i) receiving, at the controller, a piconet-synchronized signal;

(ii) providing, by the controller to the host system, a derivative of the piconet-synchronized signal;

(iii) computing, by the host system, a latency of the providing; and

(iv) synchronizing, at the host system of the Bluetooth audio sink device, the host clock with a master timing reference using said latency and the derivative of the piconet-synchronized signal;

an interface for receiving at least one timestamped packet on a dedicated link established between the sink device and the Bluetooth master device; and

an output for rendering an audio signal based on the at least one timestamped packet and on the synchronized host clock of the Bluetooth audio sink device;

wherein the derivative of the piconet-synchronized signal is provided via an interface between the host system and the controller.

26. The Bluetooth audio sink device of claim 25 , wherein the latency is determined based on a predetermined value associated with the Bluetooth audio sink device.

27. The Bluetooth audio sink device of claim 25 , wherein the host system and controller run on the same processor.

28. The Bluetooth audio sink device of claim 25 , wherein the host system and controller run on two separate processors.

29. A non-transitory computer readable storage medium, having stored thereon a computer program comprising program instructions, the computer program being loadable into a data-processing unit and adapted to cause the data-processing unit to carry out a method for rendering audio signals, the method being performed by a Bluetooth audio sink device configured to be wirelessly connected to a Bluetooth master device, the Bluetooth audio sink device comprising a host system supporting a host stack of a Bluetooth protocol and a controller supporting a controller stack of the Bluetooth protocol, when the computer program is run by the data-processing unit, the method comprising:

synchronizing a host clock of the Bluetooth audio sink device with a master timing reference by:

(i) receiving, at the controller, a piconet-synchronized signal;

(ii) providing, by the controller to the host system, a derivative of the piconet-synchronized signal;

(iii) computing, by the host system, a latency of the providing; and

(iv) synchronizing, at the host system of the Bluetooth audio sink device, the host clock with the master timing reference using said latency and the derivative of the piconet-synchronized signal;

receiving at least one timestamped packet on a dedicated link established between the Bluetooth audio sink device and the Bluetooth master device; and

rendering an audio signal based on the at least one timestamped packet and on the synchronized host clock of the Bluetooth audio sink device;

wherein the derivative of the piconet-synchronized signal is provided via an interface between the host system and the controller.

30. The non-transitory computer readable storage medium of claim 29 , wherein the latency is determined based on a predetermined value associated with the Bluetooth audio sink device.

31. The non-transitory computer readable storage medium of claim 29 , wherein the host system and controller run on the same processor.

32. The non-transitory computer readable storage medium of claim 29 , wherein the host system and controller run on two separate processors.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Jul 30, 2021
From: TAP SOUND SYSTEM SAS
To: GOOGLE LLC
Reel/Frame 057038/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2020
From: GIRARDIER, THOMAS; GUESNEROT, MATTHIEU; ESCANDE, WILLIAM
To: TAP SOUND SYSTEM
Reel/Frame 053152/0686 →
Priority Claims (1)
EP 18306402 · Oct 26, 2018 · regional
Continuity (2)
Continuation 16176174 · Oct 31, 2018
Related Publication 20200337003A1 · Oct 22, 2020