IP Library Granted Patent US 11,272,232
Granted Patent B2
US 11,272,232 · App. 16/729,102 · Granted Mar 8, 2022

Synchronizing multiple over the top streaming clients

Inventors: William David Amidei (San Diego, CA); Jason Braness (San Diego, CA)
Assignee: DIVX, LLC
H04N21/2387H04L7/00H04L7/0008H04L65/4069H04L65/604H04L65/607H04L65/80H04N21/242H04N21/4305H04N21/4307
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,272,232
App. No.
16/729,102
Granted
Mar 8, 2022
Kind
B2
Abstract

Systems and methods for synchronizing the playback of OTT or other time sensitive content on multiple playback devices is disclosed. The systems and methods include receiving time information based on a network time source in the playback devices. The playback clock in each playback device is set based upon the time information. Stream initiation information derived using the time information from the network time source is received by each of the playback device from the media provider. The playback devices use the stream initiation information to adjust the presentation time stamps of the frames of the media content in the stream.

Claims (53)

1. A method for synchronizing playback of encoded media performed by a plurality of playback devices, the method comprising:

setting a playback clock in each playback device of a plurality of playback devices from a single time source such that the playback clock for each playback device is synchronized;

receiving stream initiation information for a stream of encoded media from a stream media provider in each playback device, wherein the stream initiation information includes a stream start time;

receiving the stream of encoded media in each playback device wherein the stream includes a plurality of frames; and

simultaneously commencing playback of the stream of encoded media in each playback device based on the stream initiation information and the playback clock.

2. The method of claim 1 , further comprising:

transmitting a request for time information from each playback device of the plurality of playback devices to the single time source; and

receiving the time information from the single time source,

wherein the single time source comprises a Network Time Protocol Server and the transmitting of the request and receiving of the time information are performed using Network Time Protocol.

3. The method of claim 2 , wherein the single time source further comprises a local time server.

4. The method of claim 3 , further comprising:

transmitting a request for time information from the local time server to a Network Time Protocol server;

receiving the time information from the Network Time Protocol server in the local time server;

receiving the request for time information from each playback device;

generating the time information for each playback device from the timing information received from the Network Time Protocol server;

transmitting the time information to each playback device.

5. The method of claim 3 , further comprising:

transmitting a request for time information from the stream media provider to the Network Time Protocol server;

receiving the time information from the Network Time Protocol server in the local time server;

generating the stream initiation information for the stream of encoded media using the time information received by the stream media provider wherein the stream initiation information includes the stream start time;

receiving a request for the encoded media from each playback device by the stream media provider;

transmitting the stream initiation information including the stream start time from the stream media provider to each playback device; and

transmitting the stream of encoded media from the stream media provider to each playback device.

6. The method of claim 1 , wherein the playback clock of each playback device is set in Coordinated Universal Time.

7. The method of claim 1 , wherein the start time is provided in Coordinated Universal Time.

8. A system for providing synchronous playback of encoded media based on a provided start time comprising:

memory; and

a processor configured via a client application stored in the memory to:

set a playback clock in each playback device of a plurality of playback devices from a single time source such that the playback clock for each playback device is synchronized,

receive stream initiation information for a stream of encoded media from a stream media provider in each playback device wherein the stream initiation information includes a stream start time,

receive the stream of encoded media in each playback device wherein the stream includes a plurality of frames, and

simultaneously commence playback of the stream of encoded media in each playback device based on the stream initiation information and the playback clock.

9. The playback device of claim 8 , wherein the processor is further configured to:

transmit a request for time information from each playback device of the plurality of playback devices to the single time source; and

receive the time information from the single time source,

wherein the single time source comprises a Network Time Protocol Server and the transmitting of the request and receiving of the time information are performed using Network Time Protocol.

10. The playback device of claim 8 wherein the playback clock of each playback device is set in Coordinated Universal Time.

11. The playback device of claim 8 , wherein the start time is provided in Coordinated Universal Time.

12. The playback device of claim 8 , wherein the single time source further comprises a local time server.

13. The playback device of claim 12 , wherein the time information provided by the local time server is based on time information from the Network Time Protocol Server.

14. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process for synchronizing playback of encoded media based on a provided start time, the process comprising:

setting a playback clock in each playback device of a plurality of playback devices from a single time source such that the playback clock for each playback device is synchronized;

receiving stream initiation information for a stream of encoded media from a stream media provider in each playback device, wherein the stream initiation information includes a stream start time;

receiving the stream of encoded media in each playback device, wherein the stream includes a plurality of frames; and

simultaneously commencing playback of the stream of encoded media in each playback device based on the stream initiation information and the playback clock.

15. The non-transitory machine readable medium of claim 14 , wherein the process further comprises:

transmitting a request for time information from each playback device of the plurality of playback devices to the single time source; and

receiving the time information from the single time source,

wherein the single time source comprises Network Time Protocol Server and the transmitting of the request and receiving of the time information are performed using Network Time Protocol.

16. The non-transitory machine readable medium of claim 14 , wherein the playback clock of each playback device is set in Coordinated Universal Time.

17. The non-transitory machine readable medium of claim 14 , wherein the start time is provided in Coordinated Universal Time.

18. The non-transitory machine readable medium of claim 14 , wherein the single time source further comprises a local time server.

19. The non-transitory machine readable medium of claim 18 , wherein the time information provided by the local time server is based on time information from a Network Time Protocol Server.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: AMIDEI, WILLIAM DAVID; BRANESS, JASON
To: DIVX, LLC
Reel/Frame 056163/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 056163/0589 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 056163/0611 →
CHANGE OF NAME Recorded May 6, 2021
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 056163/0662 →
Continuity (5)
Continuation 16111662 · Aug 24, 2018
Continuation 15587200 · May 4, 2017
Continuation 15192695 · Jun 24, 2016
Continuation 13906952 · May 31, 2013
Related Publication 20200137434A1 · Apr 30, 2020
Cited By (1)
US 12,250,420