IP Library › Granted Patent US 10,735,825
Granted Patent B1
US 10,735,825 · App. 16/270,467 · Granted Aug 4, 2020

Coordination of media content delivery to multiple media players

Inventors: Keith Comito (Seaford, NY); Nathan Lefler (New York, NY); James A. Corrigan-Colville (Northport, NY)
Assignee: Disney Enterprises, Inc.
H04N21/6543H04N21/239H04N21/2387H04N21/242H04N21/4307H04N21/437H04N21/4532H04N21/632H04N21/64738H04N21/8547
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,735,825
App. No.
16/270,467
Filed
Feb 7, 2019
Granted
Aug 4, 2020
Kind
B1
Art Unit
2421
USPC
725/116
Abstract

A system for synchronizing media content playout includes a computing platform having a hardware processor and a system memory storing a software code. The hardware processor executes the software code to receive a first state message from a first media player playing a first media content and a second state message from a second media player playing a second media content, the first media content and the second media content being the same media content. The software code further determines a coordination state for playout of the first media content and the second media content based on one or more of the first and second state messages, and transmits a first coordination message including the coordination state to the first media player and a second coordination message including the coordination state to the second media player to synchronize playout of the first media content and the second media content.

Claims (52)

1. A system for synchronizing media content playout, the system comprising:

a computing platform including a hardware processor and a system memory storing a software code;

the hardware processor configured to execute the software code to:

receive a first state message from a first media player playing a first media content;

start a timer for a first time interval after receiving the first state message;

receive, prior to expiration of the timer started for the first time interval, a second state message from a second media player playing a second media content, the first media content and the second media content being a same media content;

start the timer for a second time interval after receiving the second state message;

in response to expiration of the timer started for the second time interval, determine a coordination state for playout of the first media content by the first media player and the second media content by the second media player based on at least one of the first state message or the second state message; and

in response to expiration of the timer started for the second time interval, transmit a first content coordination message including the coordination state to the first media player, and a second content coordination message including the coordination state to the second media player to synchronize, using the coordination state, playout of the first media content and the second media content by the first media player and the second media player, respectively.

2. The system of claim 1 , wherein at least one of the first state message or the second state message includes user activity data corresponding to an action by a user of a respective one of the first media player or the second media player.

3. The system of claim 1 , wherein the first content coordination message causes the first media player to change a playout rate of the first media content.

4. The system of claim 1 , wherein the first content coordination message causes the first media player to change a position of a playhead of the first media player with respect to one of a timecode and a frame number of the first media content.

5. The system of claim 1 , wherein the first content coordination message further includes a first latency estimate for communications between the computing platform and the first media player.

6. The system of claim 5 , wherein the first latency estimate is determined based on a weighted rolling average of a plurality of test latency values measured for the first media player.

7. The system of claim 6 , wherein a weight applied to each of the plurality of test latency values is based on how recently each test latency value was measured.

8. The system of claim 6 , wherein a weight applied to each of the plurality of test latency values is based on a deviation of each of the test latency values from a standard average of the plurality of test latency values.

9. The system of claim 1 , wherein receiving the first state message, receiving the second state message, determining the coordination state, and transmitting the coordination state to the first media player and the second media player are all repeated periodically.

10. The system of claim 1 , wherein the first state message includes a playhead position, a media content playout rate, and a network connection status of the first media player.

11. A method for use by a system for synchronizing media content playout, the system including a computing platform having a hardware processor and a system memory storing a software code, the method comprising:

receiving, by the software code executed by the hardware processor, a first state message from a first media player playing a first media content;

starting, by the software code executed by the hardware processor, a timer for a first time interval after receiving the first state message;

receiving, by the software code executed by the hardware processor and prior to expiration of the timer started for the first time interval, a second state message from a second media player playing a second media content, the first media content and the second media content being a same media content;

starting, by the software code executed by the hardware processor, the timer for a second time interval after receiving the second state message;

in response to expiration of the timer started for the second time interval, determining, by the software code executed by the hardware processor, a coordination state for playout of the first media content by the first media player and the second media content by the second media player based on at least one of the first state message or the second state message; and

in response to expiration of the timer started for the second time interval, transmitting, by the software code executed by the hardware processor, a first content coordination message including the coordination state to the first media player, and a second content coordination message including the coordination state to the second media player to synchronize, using the coordination state, playout of the first media content and the second media content by the first media player and the second media player, respectively.

12. The method of claim 11 , wherein at least one of the first state message or the second state message includes user activity data corresponding to an action by a user of a respective one of the first media player or the second media player.

13. The method of claim 11 , wherein the first content coordination message causes the first media player to change a playout rate of the first media content.

14. The method of claim 11 , wherein the first content coordination message causes the first media player to change a position of a playhead of the first media player with respect to one of a timecode and a frame number of the first media content.

15. The method of claim 11 , further comprising determining a first latency estimate for communications between the computing platform and the first media player.

16. The method of claim 15 , wherein the first latency estimate is determined based on a weighted rolling average of a plurality of test latency values measured for the first media player.

17. The method of claim 16 , wherein a weight applied to each of the plurality of test latency values is based on how recently each test latency value was measured.

18. The method of claim 16 , wherein a weight applied to each of the plurality of test latency values is based on a deviation of each of the test latency values from a standard average of the plurality of test latency values.

19. The method of claim 11 , wherein receiving the first state message, receiving the second state message, determining the coordination state, and transmitting the coordination state to the first media player and the second media player are all repeated periodically.

20. The method of claim 11 , wherein the first state message includes a playhead position, a media content playout rate, and a network connection status of the first media player.

21. A method for use by a first media player for synchronizing playout of a first media content with playout of a second media content by a second media player, the first media content and the second media content being a same media content, the method comprising:

starting to play the first media content;

transmitting a first state message to a coordinating device while the first media player is playing the first media content, the first state message including a playhead position, a media content playout rate, and a network connection status of the first media player;

in response to transmitting the first state message to the coordinating device, receiving a first content coordination message from the coordinating device, the first content coordination message including a coordination state for playout of the first media content by the first media player, the coordination state being based on the first state message;

synchronizing, by the first media player using the first content coordination message, playout of the first media content with playout of the second media content by the second media player; and

continuing to playout the first media content during and after the synchronizing.

22. The method of claim 21 , wherein the first state message includes user activity data corresponding to an action by a user of the first media player.

23. The method of claim 21 , wherein the first content coordination message causes the first media player to change a playout rate of the first media content.

24. The method of claim 21 , wherein the first content coordination message causes the first media player to change a position of a playhead of the first media player with respect to one of a timecode and a frame number of the first media content.

25. The method of claim 21 , wherein the method further comprises:

determining a first latency estimate for communications with the coordinating device; and

transmitting the first latency estimate to the coordinating device as part of the first state message.

26. The method of claim 25 , wherein the first latency estimate is determined based on a weighted rolling average of a plurality of test latency values measured by the first media player.

27. The method of claim 26 , wherein a weight applied to each of the plurality of test latency values is based on how recently each test latency value was measured.

28. The method of claim 26 , wherein a weight applied to each of the plurality of test latency values is based on a deviation of each of the test latency values from a standard average of the plurality of test latency values.

29. The method of claim 21 , wherein transmitting the first state message, receiving the second state message, receiving the first content coordination message, and synchronizing are all repeated periodically.

30. The method of claim 21 , wherein the method further comprises:

receiving a first latency estimate from the coordinating device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2019
From: COMITO, KEITH; LEFLER, NATHAN; CORRIGAN-COLVILLE, JAMES A.
To: DISNEY ENTERPRISES, INC.
Reel/Frame 048276/0029 →
Cited By (4)
US 12,284,410 US 12,301,958 US 12,335,559 US 12,342,005