IP Library Granted Patent US 10,523,984
Granted Patent B2
US 10,523,984 · App. 16/111,662 · Granted Dec 31, 2019

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 10,523,984
App. No.
16/111,662
Granted
Dec 31, 2019
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 (45)

1. A method for synchronizing playback of encoded media performed by a plurality of playback devices on a defined network comprising:

setting a playback clock in each playback device of a plurality of playback devices on a defined network such that a time delay between each playback clock in each playback devices of the plurality is less than tens of milliseconds;

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

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

adjusting the presentation time information of each frame of the plurality of frames of the stream in each playback device of the plurality of playback devices based upon the stream initiation information; and

presenting each frame of the plurality of frames using each playback device of the plurality of playback devices based upon the setting of the playback clock in each playback device such that the delay of presentation of each frame between each playback device of the plurality of playback devices is than tens of milliseconds.

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 a network time provider;

receiving the time information from the network time provider in each playback device of the plurality of playback devices; and

wherein the network time provider is 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 network time provider is 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 the playback device;

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

transmitting the time information to each playback device of the plurality of playback devices.

5. The method of claim 3 further comprising:

transmitting a request for time information from the stream media provider to a 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 of the plurality of playback devices by the stream media provider;

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

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

6. The method of claim 1 wherein the time information is provided in Coordinated Universal Time.

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

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

a defined network; and

a plurality of playback devices connected to the defined network;

wherein each playback device of the playback devices each comprises:

memory; and

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

set a playback clock such that a time delay between each playback clock in each of the playback devices of the plurality of playback devices is less than tens of milliseconds,

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

receive the stream of encoded media wherein the stream includes a plurality of frames of the encoded content,

adjust presentation time information of each frame of the plurality of frames of the stream in the playback device based upon the stream initiation information, and

present each frame of the plurality of frames based upon the setting of the playback clock such that the delay of presentation of each frame between each playback device of the plurality of playback devices is than tens of milliseconds.

9. The system of claim 8 further comprising a network time provider in the defined network wherein the processor is further configured to:

transmit a request for time information from each playback device of the plurality of playback devices to a network time provider;

receiving the time information from the network time provider in each playback device of the plurality of playback devices; and

wherein the network time provider is 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 system of claim 9 wherein the network time provider is a local time server.

11. The system of claim 10 wherein the time information provided by the local time server is based on time information from a Network Time Protocol Server.

12. The system of claim 8 wherein the time information is provided in Coordinated Universal Time.

13. The system of claim 8 wherein the start time is provided in Coordinated Universal Time.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2019
From: AMIDEI, WILLIAM DAVID; BRANESS, JASON
To: DIVX, LLC
Reel/Frame 048546/0337 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2019
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 048546/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2019
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 048546/0632 →
CHANGE OF NAME Recorded Mar 8, 2019
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 048546/0656 →
Continuity (4)
Continuation 15587200 · May 4, 2017
Continuation 15192695 · Jun 24, 2016
Continuation 13906952 · May 31, 2013
Related Publication 20180367824A1 · Dec 20, 2018
Cited By (2)
US 50,400 US 12,250,420