IP Library Granted Patent US 9,648,362
Granted Patent B2
US 9,648,362 · App. 15/192,695 · Granted May 9, 2017

Synchronizing multiple over the top streaming clients

Inventors: William David Amidei (San Diego, CA); Jason Braness (San Diego, CA)
Assignee: Sonic IP, Inc.
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 9,648,362
App. No.
15/192,695
Granted
May 9, 2017
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 (44)

1. A method for playback of encoded media performed by a playback device comprising:

transmitting a request for time information from each of a plurality of playback devices in a local network to a network time provider for the local network;

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

setting a playback clock in each of the plurality of playback devices using the received time information such that a time delay between the playback clocks in each of the plurality of playback devices in the local network is less than tens of milliseconds so that delay between the playback of the same media content on each of the plurality of playback devices in the local 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 each of the plurality of playback devices 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 each of the plurality of playback devices based upon the stream initiation information and time information from the playback clock in each of the plurality of playback devices; and

presenting each of the plurality of frames using each of the plurality of playback devices based upon the adjusted presentation time information in each of the plurality of playback devices such that there is no noticeable delay of the presentation of each of the plurality of frames by the plurality of 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 each of the plurality of playback devices.

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 each 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 each of the plurality of playback devices; and

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

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

a local network;

a network time provider in the local network; and

a plurality of playback devices connected to the local network;

wherein each of the plurality of playback devices comprises:

memory; and

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

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

receive the time information from the network time provider wherein the time information is provided to each of the plurality of playback devices in the local network,

set a playback clock using the received time information such that a time delay between the playback clock in each of the playback devices is less than tens of milliseconds so that delay between the playback of the same media content on the plurality of playback devices in the local 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

present 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 plurality of playback devices in the local network.

9. The system 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 system of claim 8 wherein the time information is provided in Coordinated Universal Time.

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

12. The system of claim 8 wherein the network time provider is a local time server.

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

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2016
From: AMIDEI, WILLIAM DAVID; BRANESS, JASON
To: DIVX, LLC
Reel/Frame 041172/0044 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2016
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 041172/0267 →
Continuity (2)
Continuation 13906952 · May 31, 2013
Related Publication 20160309206A1 · Oct 20, 2016