IP Library Granted Patent US 9,380,099
Granted Patent B2
US 9,380,099 · App. 13/906,952 · Granted Jun 28, 2016

Synchronizing multiple over the top streaming clients

Inventors: William David Amidei (La Jolla, CA); Jason Braness (San Diego, CA)
Assignee: Sonic IP, Inc.
H04L65/607H04L7/00H04L7/0008H04L65/604H04N21/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 9,380,099
App. No.
13/906,952
Granted
Jun 28, 2016
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 playback of encoded media performed by a playback device comprising:

transmitting a request for time information from a playback device in a local network to a network time provider for the local network;

receiving the time information from the network time provider in the playback device wherein the time information from the network time provider is provided to the playback device and other playback devices in the local network;

setting a playback clock in the playback device using the received time information such that a time delay between the playback clock in the playback device and the playback clock of the other playback devices in the network is less than tens of milliseconds so that delay between the playback of the same media content on the playback device and other playback devices in the network is not noticeable by a human;

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 the playback device wherein the stream includes a plurality of frames of the encoded content;

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

presenting each of the plurality of frames using the playback device based upon the adjusted presentation time information such that there is no noticeable delay of the presentation of each of the plurality of frames by the playback device and the presentation of each of the plurality of frames by the other playback devices in the local network.

2. The method of claim 1 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 1 wherein the time information is provided in Coordinated Universal Time.

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

5. The method of claim 1 wherein the network time provider is a local time server.

6. The method of claim 5 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 the playback device.

7. The method of claim 1 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 playback from the playback device 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 the playback device.

8. A playback device in a local network for providing 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:

transmit a request for time information to a network time provider for the local network,

receive the time information from the network time provider wherein the time information from the network time provider is provided to the playback device and other playback devices in the local network,

set a playback clock in the playback device using the received time information such that a time delay between the playback clock in the playback device and the playback clock of the other playback devices in the network is less than tens of milliseconds so that delay between the playback of the same media content on the playback device and other playback devices in the network is not noticeable by a human,

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 of the plurality of frames of the stream in the playback device based upon the stream initiation information and time information from the playback clock; and

presenting each of the plurality of frames using the adjusted presentation time information such that there is no noticeable delay of the presentation of each of the plurality of frames by the playback device and the presentation of each of the plurality of frames by the other playback devices in the local network.

9. The playback device of claim 8 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 playback device of claim 8 wherein the time information is provided 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 network time provider is 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 a 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 providing playback of encoded media based on a provided start time, the process comprising:

transmitting a request for time information to a network time provider for the local network;

receiving the time information from the network time provider wherein the time information from the network time provider is provided to the playback device and other playback devices in the local network;

setting a playback clock in the playback device using the received time information such that a time delay between the playback clock in the playback device and the playback clock of the other playback devices in the network is less than tens of milliseconds so that delay between the playback of the same media content on the playback device and other playback devices in the network is not noticeable by a human;

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

receiving the stream of encoded media wherein the stream includes a plurality of frames of the encoded content;

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

presenting each of the plurality of frames using the adjusted presentation time information such that there is no noticeable delay of the presentation of each of the plurality of frames by the playback device and the presentation of each of the plurality of frames by the other playback devices in the local network.

15. The non-transitory machine readable medium containing processor instructions of claim 14 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.

16. The non-transitory machine readable medium containing processor instructions of claim 14 wherein the time information is provided in Coordinated Universal Time.

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

18. The non-transitory machine readable medium containing processor instructions of claim 14 wherein the network time provider is a local time server.

19. The non-transitory machine readable medium containing processor instructions 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 (6)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
RELEASE OF SECURITY INTEREST Recorded Apr 9, 2014
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DIVX, LLC
Reel/Frame 032645/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2014
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 031917/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2013
From: AMIDEI, WILLIAM; BRANESS, JASON
To: DIVX, LLC
Reel/Frame 031735/0170 →
Continuity (1)
Related Publication 20140359075A1 · Dec 4, 2014