Software-based wireless coordination of audio playback
First Claim
1. An electronic device, comprising:
- a system clock circuit configured to provide a system clock in the electronic device;
a processor, coupled to the system clock, configured to execute software;
one or more antennas;
an interface clock circuit that is configured to provide an interface clock; and
an interface circuit communicatively coupled to the one or more antennas and the processor, wherein the interface circuit is configured to;
receive, from the one or more antennas, packets associated with a second electronic device, wherein a given packet includes time-coordination information based on a second interface clock in the second electronic device;
coordinate the interface clock with a second interface clock based on the time-coordination information; and
receive, from the one or more antennas, information associated with the second electronic device specifying a future time when the electronic device is to perform a playback operation; and
wherein the processor is configured to;
capture timing information associated with the interface clock or a reference clock that is used by the interface clock circuit to generate the interface clock to increase a resolution of the system clock, wherein the interface clock has a higher frequency than the system clock;
track, using the timing information, relative drift as a function of time between the system clock and the interface clock;
determine, based on the relative drift, an estimated time offset between the interface clock and the system clock at the future time;
modify the future time based on the estimated time offset to determine a corrected future time; and
perform the playback operation at the corrected future time.
11 Assignments
0 Petitions
Accused Products
Abstract
A processor in an electronic device may coordinate an interface clock in the electronic device with a second interface clock in a second electronic device based on time-coordination information received in packets from the second electronic device. Then, the processor captures timing information associated with the interface clock provided by an interface clock circuit to increase a resolution of a system clock. Moreover, the processor may track, using the timing information, relative drift as a function of time between the system clock and the interface clock, and may determine, based on the relative drift, an estimated time offset between the interface clock and the system clock at the future time. Next, the processor modifies a future time when the electronic device is to perform the playback operation based on the estimated time offset to determine a corrected future time, and may perform the playback operation at the corrected future time.
-
Citations
20 Claims
-
1. An electronic device, comprising:
-
a system clock circuit configured to provide a system clock in the electronic device; a processor, coupled to the system clock, configured to execute software; one or more antennas; an interface clock circuit that is configured to provide an interface clock; and an interface circuit communicatively coupled to the one or more antennas and the processor, wherein the interface circuit is configured to; receive, from the one or more antennas, packets associated with a second electronic device, wherein a given packet includes time-coordination information based on a second interface clock in the second electronic device; coordinate the interface clock with a second interface clock based on the time-coordination information; and receive, from the one or more antennas, information associated with the second electronic device specifying a future time when the electronic device is to perform a playback operation; and wherein the processor is configured to; capture timing information associated with the interface clock or a reference clock that is used by the interface clock circuit to generate the interface clock to increase a resolution of the system clock, wherein the interface clock has a higher frequency than the system clock; track, using the timing information, relative drift as a function of time between the system clock and the interface clock; determine, based on the relative drift, an estimated time offset between the interface clock and the system clock at the future time; modify the future time based on the estimated time offset to determine a corrected future time; and perform the playback operation at the corrected future time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium for use with an electronic device, the computer-readable storage medium storing a program module that, when executed by the electronic device, coordinates a playback operation by causing the electronic device to perform one or more operations comprising:
-
capturing timing information associated with an interface clock provided by an interface clock circuit in the electronic device or a reference clock that is used by the interface clock circuit to generate the interface clock to increase a resolution of the system clock, wherein the interface clock has a higher frequency than the system clock; tracking, using the timing information, relative drift as a function of time between the system clock and the interface clock, wherein the interface clock is coordinated with a second interface clock in a second electronic device based on time-coordination information received, from an interface circuit in the electronic device, in packets associated with the second electronic device; determining, based on the relative drift, an estimated time offset between the interface clock and the system clock at a future time, which was received from the interface circuit, when the electronic device is to perform the playback operation; modifying the future time based on the estimated time offset to determine a corrected future time; and performing the playback operation at the corrected future time. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method for coordinating a playback operation, comprising:
-
in a processor in an electronic device; capturing timing information associated with an interface clock provided by an interface clock circuit in the electronic device or a reference clock that is used by the interface clock circuit to generate the interface clock to increase a resolution of the system clock, wherein the interface clock has a higher frequency than the system clock; tracking, using the timing information, relative drift as a function of time between the system clock and the interface clock, wherein the interface clock is coordinated with a second interface clock in a second electronic device based on time-coordination information received, from an interface circuit in the electronic device, in packets associated with the second electronic device; determining, based on the relative drift, an estimated time offset between the interface clock and the system clock at a future time, which was received from the interface circuit, when the electronic device is to perform the playback operation; modifying the future time based on the estimated time offset to determine a corrected future time; and performing the playback operation at the corrected future time. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification