USRE50400EActiveUtility

Playback synchronization across playback devices

68
Assignee: DIVX LLCPriority: May 31, 2013Filed: Feb 12, 2021Granted: Apr 22, 2025
Est. expiryMay 31, 2033(~6.9 yrs left)· nominal 20-yr term from priority
H04N 21/242H04N 21/2387H04N 21/6332H04N 21/26208H04N 21/4305H04N 21/4302H04N 21/43H04N 21/8547
68
PatentIndex Score
0
Cited by
345
References
44
Claims

Abstract

Systems and methods for synchronizing the playback of streamed 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 connected to a defined network. The playback clock in each playback device is set based upon the time information. A first playback device then generates presentation time information including a start time for playback and broadcast the presentation time information to the other playback device over the defined network. The playback devices use the presentation time information to adjust the presentation time stamps of the frames of the media content in the stream.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for playback of encoded media performed by a first playback device connected to a defined network including a plurality of playback devices comprising:
 transmitting a request for time information from a first playback device to a network time provider;   receiving the time information from the network time provider in the first playback device;   setting a playback clock in the first playback device using the received time information;   receiving, by the first playback device, presentation time information for a stream of encoded media from another playback device of a plurality of playback devices over a defined network wherein the presentation time information includes a stream start time;   receiving, by the first playback device, a stream of the encoded media in the first playback device and presentation time information for at least some of the plurality of frames, wherein the stream includes a plurality of frames of the encoded content;   determining, using the first playback device, whether the presentation time information has been received from another one of the plurality of playback devices in response to beginning the reception of the stream of encoded media;   generating presentation time information in the first playback device in response to a determination that the presentation time information has not been received from the another one of the plurality of playback devices;   broadcasting the presentation time information from the first playback device to other ones of the plurality of playback devices connected to the defined network over the defined network;   adjusting the presentation time information of at least one of the plurality of frames of the stream in the first playback device based upon one of: the presentation time information generated by the playback device and the presentation time information received from the another one of the plurality of playback devices; and   commencing playback, by the first playback device, of the stream of encoded media based on the adjusted presentation time information of at least one of the plurality of frames.   
     
     
       2. The method of  claim 1  further comprising, using the first playback device:
 determining that a specified time period has expired; 
 generating updated presentation time information in response to the time period expiring; and 
 broadcasting the updated presentation time information to the other ones of the plurality of playback devices connected to the defined network over the defined network. 
 
     
     
       3. The method of  claim 1  further comprising, using the first playback device:
 receiving updated presentation time information from another playback device of the plurality of playback devices over the defined network; and 
 adjusting the presentation time information of each of the plurality of frames of the stream in the first playback device based upon the playback information. 
 
     
     
       4. The method of  claim 1  wherein the time information is provided in Coordinated Universal Time. 
     
     
       5. The method of  claim 1  wherein the start time is provided in Coordinated Universal Time. 
     
     
       6. 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. 
     
     
       7. The method of  claim 1  wherein the network time provider is a local time server for the defined network. 
     
     
       8. The method of  claim 1  wherein the presentation time information includes presentation time information for a particular frame and a playback speed. 
     
     
       9. The method of  claim 1  wherein the defined network is a local area network. 
     
     
       10. The method of  claim 3  further comprising, using the first playback device;
 determining whether the updated presentation time information is received within a specified time period; 
 generating updated presentation time information in response to a determination that the updated presentation time information was not received in the specified time period; and 
 broadcasting the updated presentation time information to the other ones of the plurality of playback devices connected to the defined network over the defined network. 
 
     
     
       11. The method of  claim 7  further comprising:
 transmitting a request for time information from the network time provider to a Network Time Protocol server, where the network time provider is a local time server; 
 receiving the time information from the Network Time Protocol server in the local time server; 
 receiving the request for time information from the first playback device in the local time server; 
 generating, by the local time server, the time information for the first playback device from the timing information received from the Network Time Protocol server; and 
 transmitting the time information from the local time server to the first playback device. 
 
     
     
       12. The method of  claim 10  wherein the updated presentation time information includes presentation time information for a frame in the stream and a current playback speed. 
     
     
       13. A playback device 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; 
 receive the time information from the network time provider; 
 set a playback clock in the playback device using the received time information; 
 receive presentation time information for a stream of encoded media from another playback device of a plurality of playback devices over a defined network wherein the presentation time information includes a stream start time; 
 receive a stream of the encoded media in the playback device and presentation time information for at least some of the plurality of frames, wherein the stream includes a plurality of frames of the encoded content; 
 determine whether the presentation time information has been received from another one of the plurality of playback devices in response to beginning the reception of the stream of encoded media; 
 generate presentation time information in response to a determination that the presentation time information has not been received from the another one of the plurality of playback devices; 
 broadcast the presentation time information to other ones of the plurality of playback devices connected to the defined network over the defined network; 
 adjust the presentation time information of at least one of the plurality of frames of the stream in the playback device based upon one of: the presentation time information generated by the playback device and the presentation time information received from the another one of the plurality of playback devices; and 
 commence playback of the stream of encoded media based on the adjusted presentation time information of at least one of the plurality of frames. 
   
     
     
       14. The playback device of  claim 13  wherein the client application further configures the processor to:
 determine that a specified time period has expired; 
 generate updated presentation time information in response to the time period expiring; and 
 broadcast the updated presentation time information to the other ones of the plurality of playback devices connected to the defined network over the defined network. 
 
     
     
       15. The playback device of  claim 13  wherein
 the client application further configures the processor to: 
 receive updated presentation time information from another one of the plurality of playback devices over the defined network; and 
 adjust the presentation time information of each of the plurality of frames of the stream in the playback device based upon the presentation time information. 
 
     
     
       16. The playback device of  claim 13 , wherein the presentation time information includes a playback speed. 
     
     
       17. The playback device of  claim 13  wherein the defined network is a local area network. 
     
     
       18. The playback device of  claim 13  wherein the time information is provided in Coordinated Universal Time. 
     
     
       19. The playback device of  claim 13  wherein the start time is provided in Coordinated Universal Time. 
     
     
       20. The playback of  claim 13  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. 
     
     
       21. The playback device of  claim 15  herein the client application further configures the processor to:
 determine whether the updated presentation time information is received within a specified time period; 
 generate updated presentation time information in response to a determination that the updated presentation time information was not received in the specified time period; and 
 broadcast the updated presentation time information to the other playback devices connected to the defined network over the defined network. 
 
     
     
       22. The playback device of  claim 15  wherein the updated presentation time information includes presentation time information for a particular one of the plurality of playback frames in the stream of encoded media and a playback speed. 
     
     
       23. A method for playback of encoded media, the method comprising:
 transmitting a request for time information from a first playback device to a network time provider;   receiving the time information from the network time provider in the first playback device;   setting a playback clock in the first playback device using the received time information;   receiving, by the first playback device, presentation time information for a stream of encoded media from another playback device of a plurality of playback devices over a defined network wherein the presentation time information includes a stream start time;   receiving, by the first playback device, a stream of the encoded media and presentation time information for at least some of a plurality of frames, wherein the stream includes the plurality of frames of the encoded media;   determining, using the first playback device, whether the presentation time information has been received from another one of the plurality of playback devices in response to beginning the reception of the stream of encoded media;   generating presentation time information in the first playback device in response to a determination that the presentation time information has not been received from the another one of the plurality of playback devices;   adjusting the presentation time information of at least one of the plurality of frames of the stream in the first playback device based on the presentation time information received from the another one of the plurality of playback devices;   commencing playback, by the first playback device, of the stream of encoded media based on the adjusted presentation time information of at least some of the plurality of frames; and   broadcasting the generated presentation time information from the first playback device to other ones of the plurality of playback devices connected to the defined network over the defined network, wherein at least one of the other ones of the plurality of playback devices adjusts the presentation time information of at least one of the plurality of frames of the stream in the at least one of the other ones of the plurality of playback devices based upon the generated presentation time information received from the first playback device and commences playback of the stream of encoded media based on the adjusted presentation time information of at least one of the plurality of frames.    
     
     
       24. The method of  claim 23  further comprising, using the first playback device:
 determining that a specified time period has expired; 
 generating updated presentation time information in response to the time period expiring; and 
 broadcasting the updated presentation time information to the other ones of the plurality of playback devices connected to the defined network over the defined network.  
 
     
     
       25. The method of  claim 23  further comprising, using the first playback device:
 receiving updated presentation time information from another playback device of the plurality of playback devices over the defined network; and 
 adjusting the presentation time information of each of the plurality of frames of the stream in the first playback device based upon the received updated presentation time information.  
 
     
     
       26. The method of  claim 25  further comprising, using the first playback device:
 determining whether the updated presentation time information is received within a specified time period; 
 generating updated presentation time information in response to a determination that the updated presentation time information was not received in the specified time period; and 
 broadcasting the updated presentation time information to the other ones of the plurality of playback devices connected to the defined network over the defined network.  
 
     
     
       27. The method of  claim 26  wherein the generated updated presentation time information includes presentation time information for a frame in the stream and a current playback speed.  
     
     
       28. The method of  claim 23  wherein the time information is provided in Coordinated Universal Time.  
     
     
       29. The method of  claim 23  wherein the start time is provided in Coordinated Universal Time.  
     
     
       30. The method of  claim 23  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.  
     
     
       31. The method of  claim 23  wherein the network time provider is a local time server for the defined network.  
     
     
       32. The method of  claim 31  further comprising:
 transmitting a request for time information from the network time provider 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 first playback device in the local time server; 
 generating, by the local time server, the time information for the first playback device from the timing information received from the Network Time Protocol server; and 
 transmitting the time information from the local time server to the first playback device.  
 
     
     
       33. The method of  claim 23  wherein the generated presentation time information includes presentation time information for a particular frame and a playback speed.  
     
     
       34. The method of  claim 23  wherein the defined network is a local area network.  
     
     
       35. A playback device for providing playback of encoded media, the playback device 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; 
 receive the time information from the network time provider; 
 set a playback clock in the playback device using the received time information; 
 receive presentation time information for a stream of encoded media from another playback device of a plurality of playback devices over a defined network wherein the presentation time information includes a stream start time; 
 receive a stream of the encoded media and presentation time information for at least some of a plurality of frames, wherein the stream includes the plurality of frames of the encoded media; 
 determine whether the presentation time information has been received from another one of the plurality of playback devices in response to beginning the reception of the stream of encoded media; 
 generate presentation time information in response to a determination that the presentation time information has not been received from the another one of the plurality of playback devices; 
   adjust the presentation time information of at least one of the plurality of frames of the stream in the playback device based on the presentation time information received from the another one of the plurality of playback devices;
 commence playback, by the playback device, of the stream of encoded media based on the adjusted presentation time information of at least some of the plurality of frames; and 
 broadcast the generated presentation time information to other ones of the plurality of playback devices connected to the defined network over the defined network, wherein the broadcasted presentation time information is received in at least one of the other ones of the plurality of playback devices and is used to adjust the presentation time information of at least one of the plurality of frames of the stream in the at least one of the other ones of the plurality of playback devices, wherein the adjusted presentation time information of at least one of the plurality of frames of the stream is used to commence playback of the stream of encoded media in the at least one of the other ones of the plurality of playback devices.  
   
     
     
       36. The playback device of  claim 35  wherein the client application further configures the processor to:
 determine that a specified time period has expired; 
 generate updated presentation time information in response to the time period expiring; and 
 broadcast the updated presentation time information to the other ones of the plurality of playback devices connected to the defined network over the defined network.  
 
     
     
       37. The playback device of  claim 35  wherein the client application further configures the processor to:
 receive updated presentation time information from another one of the plurality of playback devices over the defined network; and 
 adjust the presentation time information of each of the plurality of frames of the stream in the playback device based upon the received updated presentation time information.  
 
     
     
       38. The playback device of  claim 37  wherein the client application further configures the processor to:
 determine whether the updated presentation time information is received within a specified time period; 
 generate updated presentation time information in response to a determination that the updated presentation time information was not received in the specified time period; and 
 broadcast the updated presentation time information to the other playback devices connected to the defined network over the defined network.  
 
     
     
       39. The playback device of  claim 37  wherein the received updated presentation time information includes presentation time information for a particular one of the plurality of playback frames in the stream of encoded media and a playback speed.  
     
     
       40. The playback device of  claim 35  wherein the generated presentation time information includes a playback speed.  
     
     
       41. The playback device of  claim 35  wherein the defined network is a local area network.  
     
     
       42. The playback device of  claim 35  wherein the time information is provided in Coordinated Universal Time.  
     
     
       43. The playback device of  claim 35  wherein the start time is provided in Coordinated Universal Time.  
     
     
       44. The playback of  claim 35  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.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.