System for time synchronization of audio devices
First Claim
1. A system comprising:
- a first audio device;
a second audio device;
a third audio device, wherein the first audio device is configured to provide audio data to the second audio device and the third audio device via multicast transmissions;
one or more memories storing computer-executable instructions; and
one or more hardware processors to execute the computer-executable instructions to;
send, by the first audio device, first time data to the second audio device and the third audio device via a multicast transmission;
determine, by the second audio device, second time data indicative of a time at which the first time data was received by the second audio device;
determine, by the third audio device, third time data indicative of a time at which the first time data was received by the third audio device;
send, by the third audio device, the first time data and the third time data to the second audio device;
determine, by the second audio device, that the first time data generated by the first audio device corresponds to the first time data received from the third audio device;
determine, by the second audio device, first offset data indicative of a difference between the second time data and the third time data;
send, by the second audio device, a first request for time data to the first audio device;
determine, by the second audio device, fourth time data indicative of a time at which the first request was sent by the second audio device;
determine, by the first audio device, fifth time data indicative of a time at which the first request was received;
send, by the first audio device, the fifth time data to the second audio device;
determine, by the second audio device, sixth time data indicative of a time at which the fifth time data was received;
determine, by the second audio device, second offset data indicative of a difference between the fourth time data and the fifth time data and a difference between the fifth time data and the sixth time data;
determine, based on the first offset data and the second offset data, third offset data indicative of a difference between the first time data and the third time data; and
output audio using the first audio device, the second audio device, and the third audio device, wherein a first timing of audio output of the third audio device is based on the third offset data and a second timing of audio output of the second audio device is based on the second offset data.
1 Assignment
0 Petitions
Accused Products
Abstract
Described are techniques for synchronizing multiple devices within a group to enable performance of a synchronized action through the exchange of time data. A first device provides a timestamp or other time data to multiple other devices via a multicast transmission. Each of the other devices determines a time at which the timestamp was received and exchanges this data with one another. Based on the determined times, the other devices may be synchronized relative to a selected synchronization master device. One of the other devices may then determine a from the first device, and determine the time at which the timestamp from the first device was received, enabling the first device to be synchronized with the synchronization master device. Devices that are unable to receive multicast transmissions from the first device may exchange timestamps with the first device via an access point.
-
Citations
20 Claims
-
1. A system comprising:
-
a first audio device; a second audio device; a third audio device, wherein the first audio device is configured to provide audio data to the second audio device and the third audio device via multicast transmissions; one or more memories storing computer-executable instructions; and one or more hardware processors to execute the computer-executable instructions to; send, by the first audio device, first time data to the second audio device and the third audio device via a multicast transmission; determine, by the second audio device, second time data indicative of a time at which the first time data was received by the second audio device; determine, by the third audio device, third time data indicative of a time at which the first time data was received by the third audio device; send, by the third audio device, the first time data and the third time data to the second audio device; determine, by the second audio device, that the first time data generated by the first audio device corresponds to the first time data received from the third audio device; determine, by the second audio device, first offset data indicative of a difference between the second time data and the third time data; send, by the second audio device, a first request for time data to the first audio device; determine, by the second audio device, fourth time data indicative of a time at which the first request was sent by the second audio device; determine, by the first audio device, fifth time data indicative of a time at which the first request was received; send, by the first audio device, the fifth time data to the second audio device; determine, by the second audio device, sixth time data indicative of a time at which the fifth time data was received; determine, by the second audio device, second offset data indicative of a difference between the fourth time data and the fifth time data and a difference between the fifth time data and the sixth time data; determine, based on the first offset data and the second offset data, third offset data indicative of a difference between the first time data and the third time data; and output audio using the first audio device, the second audio device, and the third audio device, wherein a first timing of audio output of the third audio device is based on the third offset data and a second timing of audio output of the second audio device is based on the second offset data. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
determining first time data indicative of a time at which an event associated with a first device is detected by a second device; determining second time data indicative of a time at which the event is detected by a third device; determining first offset data based on a difference between the first time data and the second time data; sending, by the second device, a request to the first device; determining, by the second device, third time data indicative of a time at which the request was sent to the first device; sending, by the first device to the second device, fourth time data indicative of a time at which the request was received by the first device; determining fifth time data indicative of a time at which the second device received the fourth time data; determining second offset data based on one or more differences between the third time data, the fourth time data, and the fifth time data; and causing the first device, the second device, and the third device to perform a synchronized action, wherein a first timing associated with the second device is based on the first offset data and a second timing associated with the third device is based on the first offset data and the second offset data. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
an access point; a first device in communication with the access point; a second device in communication with the access point; a third device in communication with the second device; one or more memories storing computer-executable instructions; and one or more hardware processors to execute the computer-executable instructions to; send, by the first device, a request for time data to the second device via the access point; determine first time data indicative of a time at which the request was sent by the first device; determine second time data indicative of a time at which the request was received by the second device; send, by the second device, the second time data to the first device; determine third time data indicative of a time at which the second time data was received by the first device; send, by the second device, fourth time data to the third device; determine fifth time data indicative of a time at which the fourth time data was received by the third device; determine first offset data based on one or more differences between the first time data, the second time data, and the third time data; determine second offset data based in part on a difference between the fourth time data and the fifth time data; based on the first offset data and the second offset data, determine a first time associated with performance of a synchronized action by the first device relative to the second device and a second time associated with performance of the synchronized action by the third device relative to the second device; and perform the synchronized action using the first device, the second device, and the third device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification