IP Library Granted Patent US 11,042,349
Granted Patent B2
US 11,042,349 · App. 16/378,466 · Granted Jun 22, 2021

Source coordination of audio playback

Inventors: Leo Lay (Oakland, CA); Adrian Harold Chadd (Santa Clara, CA); Haisong Wang (Fremont, CA); Shiwei Zhao (Union City, CA); Li Li (San Jose, CA); Gaylord Yu (San Francisco, CA)
Assignee: B&W Group Ltd.
G06F3/165H04H60/80H04J3/0632H04J3/0661H04L7/0012H04L7/0016H04L7/033H04L7/0331H04L65/4069H04L65/60H04L65/608H04L65/80H04M1/72442H04N21/233H04N21/4305H04N21/8113H04R3/12H04R27/00H04R2227/005H04R2420/07
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,042,349
App. No.
16/378,466
Granted
Jun 22, 2021
Kind
B2
Abstract

An electronic device that coordinates a playback operation is described. In particular, an interface circuit in the electronic device may calculate, based on differences between transmit times when packets were transmitted by a second electronic device and receive times of the packets, relative drift as a function of time between a clock in the interface circuit and a second clock in the second electronic device. Then, the interface circuit may adjust, based on the relative drift, a clock circuit that provides the clock to eliminate the relative drift, and may determine a remaining time offset between the clock and the second clock. Next, the interface circuit may modify a future time when the second electronic device is to perform the playback operation based on the remaining time offset to determine a corrected future time, and may transmit information to the second electronic device specifying the corrected future time.

Claims (55)

1. An electronic device, comprising:

one or more antennas;

a clock circuit that is configured to provide a clock; and

an interface circuit communicatively coupled to the one or more antennas and the clock circuit, wherein the electronic device is configured to:

receive, from the one or more antennas, packets associated with a second electronic device, wherein a given packet comprises a transmit time, based on a second clock in the second electronic device, when the second electronic device transmitted the given packet;

store receive times when the packets were received, wherein the receive times are based on the clock;

calculate, based on differences between the transmit times and the receive times, relative drift as a function of time between the clock and the second clock, wherein a given difference is between a given transmit time and a given receive time for a given packet;

adjust, based on the relative drift, the clock circuit that provides the clock to eliminate the relative drift;

determine a remaining time offset between the clock and the second clock;

modify, based on the remaining time offset, a future time, when the second electronic device is to perform a playback operation, to determine a corrected future time; and

transmit, via the one or more antennas, information intended for the second electronic device specifying the corrected future time.

2. The electronic device of claim 1 , wherein the transmit time is included in the given packet in one of: a payload; and a media access control (MAC) header.

3. The electronic device of claim 1 , wherein the clock circuit further comprises:

an oscillator configured to provide a reference clock; and

a frequency-locked-loop (FLL) circuit, coupled to the oscillator, configured to generate the clock based on the reference clock; and

wherein the electronic device is configured to eliminate the relative drift by modifying the FLL to adjust the clock.

4. The electronic device of claim 3 , wherein modifying the FLL comprises changing a seed of a synthesizer in the FLL.

5. The electronic device of claim 1 , wherein the transmit time and the receive time are stored on opposite ends of a payload of the given packet; and

wherein the electronic device is configured to determine a duration of the payload and the electronic device is configured to add the duration to the remaining offset time.

6. The electronic device of claim 1 , wherein the transmit times comprise second counter values corresponding to the second clock and the receive times comprise counter values corresponding to the clock.

7. The electronic device of claim 1 , wherein, prior to transmitting the information, the interface circuit is configured to transmit, via the one or more antennas, additional packets intended for the second electronic device that comprise audio data in payloads; and

wherein the playback operation comprises outputting the audio data as sound.

8. The electronic device of claim 1 , wherein the adjusting the clock and the modifying the future time coordinate the playback operation in a clock domain of the clock to within a predefined value of a clock domain of the second clock.

9. The electronic device of claim 1 , wherein the packets comprise control packets.

10. The electronic device of claim 1 , wherein the electronic device is a master and the second electronic device is a slave.

11. The electronic device of claim 1 , wherein the receive times are associated with a wireless ranging capability of the interface circuit.

12. 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:

receiving, from one or more antennas in the electronic device, packets associated with a second electronic device, wherein a given packet comprises a transmit time, based on a second clock in the second electronic device, when the second electronic device transmitted the given packet;

storing receive times when the packets were received, wherein the receive times are based on a clock in the electronic device;

calculating, based on differences between the transmit times and the receive times, relative drift as a function of time between the clock and the second clock, wherein a given difference is between a given transmit time and a given receive time for a given packet;

adjusting, based on the relative drift, a clock circuit that provides the clock to eliminate the relative drift;

determining a remaining time offset between the clock and the second clock;

modifying, based on the remaining time offset, a future time, when the second electronic device is to perform the playback operation, to determine a corrected future time; and

transmitting, via the one or more antennas, information intended for the second electronic device specifying the corrected future time.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the transmit time is included in the given packet in one of: a payload; and a media access control (MAC) header.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the transmit time and the receive time are stored in a payload of the given packet; and

wherein the one or more operations comprise adding a duration of the packet to the remaining offset time.

15. The non-transitory computer-readable storage medium of claim 12 , wherein, prior to the transmitting of the information, the one or more operations comprise transmitting, via the one or more antennas, additional packets intended for the second electronic device that comprise audio data in payloads; and

wherein the playback operation comprises outputting the audio data as sound.

16. A method for coordinating a playback operation, comprising:

by an electronic device:

receiving, from one or more antennas in the electronic device, packets associated with a second electronic device, wherein a given packet comprises a transmit time, based on a second clock in the second electronic device, when the second electronic device transmitted the given packet;

storing receive times when the packets were received, wherein the receive times are based on a clock in the electronic device;

calculating, based on differences between the transmit times and the receive times, relative drift as a function of time between the clock and the second clock, wherein a given difference is between a given transmit time and a given receive time for a given packet;

adjusting, based on the relative drift, a clock circuit that provides the clock to eliminate the relative drift;

determining a remaining time offset between the clock and the second clock;

receiving, from the one or more antennas, information associated with the second electronic device specifying a future time, when the second electronic device is to perform the playback operation;

modifying, based on the remaining time offset, the future time to determine a corrected future time; and

transmitting, via the one or more antennas, information intended for the second electronic device specifying the corrected future time.

17. The method of claim 16 , wherein the transmit time is included in the given packet in one of: a payload; and a media access control (MAC) header.

18. The method of claim 16 , wherein the adjusting comprises modifying a seed of a synthesizer in a frequency-locked loop (FLL) in the clock circuit.

19. The method of claim 16 , wherein the transmit time and the receive time are stored in a payload of the given packet; and

wherein the method further comprises adding a duration of the packet to the remaining offset time.

20. The method of claim 16 , wherein, prior to transmitting the information, the method further comprises transmitting, via the one or more antennas, additional packets intended for the second electronic device that comprise audio data in payloads; and

wherein the playback operation comprises outputting the audio data as sound.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL (REEL/FRAME 057187/0613) Recorded Apr 12, 2022
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: B & W GROUP LTD
Reel/Frame 059988/0688 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL (REEL/FRAME 057187/0572) Recorded Apr 12, 2022
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: B & W GROUP LTD
Reel/Frame 059988/0738 →
ABL PATENT SECURITY AGREEMENT Recorded Aug 16, 2021
From: B & W GROUP LTD
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 057187/0572 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 16, 2021
From: B & W GROUP LTD
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 057187/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2021
From: DEI SALES, INC.
To: B&W GROUP LTD
Reel/Frame 055174/0024 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: LUCID TRUSTEE SERVICES LIMITED
To: EVA AUTOMATION, INC.; EVA HOLDING, CORP.; EVA OPERATIONS CORP.
Reel/Frame 055174/0064 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2021
From: EVA AUTOMATION, INC.; EVA HOLDING, CORP.; EVA OPERATIONS CORP.
To: DEI SALES, INC.
Reel/Frame 055222/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2019
From: LAY, LEO; CHADD, ADRIAN HAROLD; WANG, HAISONG; ZHAO, SHIWEI; LI, LI; YU, GAYLORD
To: EVA AUTOMATION, INC.
Reel/Frame 048824/0451 →