Playback synchronization across playback devices
AssigneeSonic IP, Inc.
InventorWilliam David Amidei
Life of this patent
Estimating the term…
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.
Claims17
A method for synchronized playback of encoded media from a plurality of playback devices comprising:
- transmitting a request for time information from each of a plurality of playback device connected to a network to a network time provider of the network;
- receiving the time information from the network time provider in the each of the plurality of playback devices connected to the network;
- setting a playback clock in each of the plurality of playback devices using time information received from the network time provider;
- receiving presentation time information for a stream of encoded media in each of the plurality of playback device from a content provider system over the network wherein the presentation time information includes a stream start time;
- receiving a stream of the encoded media in each of the plurality of playback devices wherein the stream includes a plurality of frames of the encoded content;
- determining whether adjusted presentation time information from another one of a plurality of playback devices has been received in a first one of the plurality of playback devices in response to beginning the reception of the stream of encoded media;
- adjusting the presentation time information of each of the plurality of frames of the stream in the first one of the plurality of playback devices based upon the presentation time received for the stream and the playback clock of the first one of the plurality of playback devices in response to receiving at least a portion of the stream to generate adjusted presentation time information in response to a determination that the adjusted presentation time information has not been received from another one of the plurality of playback devices;
- broadcasting the adjusted presentation time information generated by the first one of the plurality of playback device to the remaining ones of the plurality of playback devices over the network;
- receiving the adjusted presentation time information from the first one of the plurality of playback devices in the remaining ones of the plurality of playback devices;
- adjusting the presentation time information of each of the plurality of frames of the stream in each of the remaining one of the plurality playback devices based upon the adjusted presentation time information from the first one of the plurality of playback devices to generate adjusted presentation time information;
- commencing playback of the media content in each of the plurality of playback devices based upon the adjusted presentation time information generated by each of the plurality of playback devices.
A system for providing synchronized playback of encoded media from a plurality of playback devices comprising:
- a defined network;
- a network time provider system connected to the defined network;
- a plurality of playback devices connected to the defined 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 a the network time provider system;
- receive the time information from the network time provider system;
- set a playback clock using the received time information;
- receive presentation time information for a stream of encoded media from another one of the plurality of playback devices over the defined network wherein the presentation time information includes a stream start time;
- receive a stream of the encoded media in the playback device wherein the stream includes a plurality of frames of the encoded media;
- determine whether adjusted presentation time information from another one of a plurality of playback devices has been received in response to beginning the reception of the stream of encoded media;
- generate adjusted presentation time information for the stream of encoded media in response to a determination that presentation time information has not been received from another one of the plurality of playback devices wherein the adjusted presentation time information is generated based upon the received presentation time information and the in the playback clock;
- broadcast the adjusted presentation time information from the playback device to other ones of the plurality of playback devices connected to the defined network over the defined network;
- receive the adjusted playback information from the first one of the plurality of devices in the remaining ones of the plurality of playback devices;
- adjust the presentation time information of each of the plurality of frames of the stream in the other ones of the plurality of playback devices based upon the adjusted presentation time information;
- and
- commence playback of the media content in each of the plurality of playback devices based upon the adjusted presentation time information generated by each of the plurality of playback devices.
Dependencies are inferred from the claim text.