IP Library Granted Patent US 9,131,256
Granted Patent B2
US 9,131,256 · App. 12/895,495 · Granted Sep 8, 2015

Method and apparatus for synchronizing content playback

Inventors: Paul Hubner (McKinney, TX); Erik A. Hubner (McKinney, TX); Steven T. Archer (Dallas, TX); Kristopher Pate (Flower Mound, TX); Robert A. Clavenna (Lucas, TX)
Assignee: Verizon Patent and Licensing Inc.
H04N21/242H04N21/472H04N21/6405
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,131,256
App. No.
12/895,495
Granted
Sep 8, 2015
Kind
B2
Abstract

An approach for facilitating the playback of content concurrently on multiple devices is described. A time reference associated with a first device is provided to a synchronization platform for corresponding to playback of content on the first device. The synchronization platform also receives a request from a second device to synchronize concurrent playback of a version of the content on the second device. Timing information is generated for transmission to the second device in response to the request for enabling the second device to playback its version of the content in synchronization with that of the first device.

Claims (53)

1. A method comprising:

determining by a server a time reference associated with a first device, wherein the time reference corresponds to playback of a first unicast feed of content from a content provider on the first device;

receiving a request at the server from a second device to synchronize playback of a second unicast feed of the content from the content provider on the second device with the playback on the first device;

generating by the server timing information using the time reference for transmitting the content to the second device in response to the request;

determining by the server a timing difference to synchronize the playbacks between the first device and the second device based on the time reference, wherein the timing difference is caused, at least in part, by a buffer size difference between the first device and the second device;

causing, at least in part by the server, a size adjusting of a buffer of the second device based on the buffer size difference and overall resource and device memory capacity of the second device, wherein the buffer is configured to store the content for the playback on the second device; and

causing, at least in part, sampling, by the second device, playback of the content on the first device, wherein the time reference is further modified based on the sampled playback, and the size of the buffer is further adjusted based on the modified time reference, and wherein the second device is within a predetermined proximity to the first device that is subject to signal interference, and the time reference is an absolute time reference.

2. A method according to claim 1 , further comprising:

establishing a user profile for a synchronization service, wherein the user profile specifies the first device and the second device as associated with a common user account.

3. A method according to claim 1 , further comprising:

receiving the time reference from the first device; and

transmitting size adjusting information and the timing information specifying the timing difference to one or more devices including the second device,

wherein the second device is within the predetermined proximity to the first device that is subject to audio interference, and the playback of the content on the first device is sampled via a microphone coupled to the second device.

4. A method according to claim 3 , wherein the second device is configured to utilize the timing information to adjust the buffer to synchronize the playback of the content with the playback on the first device.

5. An apparatus comprising:

at least one processor; and

at least one memory including computer program code for one or more programs,

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus embedded in a server to perform at least the following,

determine a time reference associated with a first device,

receive a request from a second device to synchronize playback of a second unicast feed of content from a content provider on the second device with playback of a first unicast feed the content from the content provider on the first device, wherein the second device is within a predetermined proximity to the first device,

generate timing information using the time reference for transmission the content to the second device in response to the request;

determine a timing difference to synchronize the playbacks between the first device and the second device based on the time reference, wherein the timing difference is caused, at least in part, by a buffer size difference between the first device and the second device;

cause, at least in part, a size adjusting of a buffer of the second device based on the buffer size difference and overall resource and device memory capacity of the second device, wherein the buffer is configured to store the content for the playback on the second device; and

cause, at least in part, sampling, by the second device, playback of the content on the first device, wherein the time reference is further modified based on the sampled playback, and the size of the buffer is further adjusted based on the modified time reference, and wherein the second device is within a predetermined proximity to the first device that is subject to signal interference, and the time reference is an absolute time reference.

6. An apparatus according to claim 5 , wherein the time reference is generated by the first device.

7. An apparatus according to claim 5 , wherein the apparatus is further caused to:

receive the time reference from the first device;

determine a timing difference to synchronize the playbacks between the first device and the second device based on the time reference; and

transmit the timing information specifying the timing difference to one or more devices including the second device.

8. An apparatus according to claim 5 , wherein the second device includes a buffer for presenting the second unicast feed of the content, and is configured to utilize the timing information to adjust the buffer to synchronize the playback of the second unicast feed of the content.

9. An apparatus according to claim 5 , wherein the apparatus is further caused to:

establish a user profile for a synchronization service, wherein the user profile specifies the first device and the second device as associated with a common user account.

10. A method comprising:

determining, at a primary device, a participant device subject to signal interference within a predetermined proximity of the primary device;

determining, at the primary device, a time reference corresponding to playback of a first unicast feed of content from a content provider on the primary device;

determining, at the primary device, a timing difference to synchronize the playback by the primary device with a playback of a second unicast feed of the content from the content provider on the participant device based on the time reference, wherein the timing difference is caused, at least in part, by a buffer size difference between the primary device and the participant device;

establishing, by the primary device, a communication session with the participant device to provide the time reference and the timing difference to the participant device for the synchronizing;

causing, at least in part, a size adjusting of a buffer of the participant device based on the buffer size difference and overall resource and device memory capacity of the participant device, wherein the buffer is configured to store the content for the playback on the participant device; and

causing, at least in part, sampling, by the participant device, playback of the content on the primary device, wherein the time reference is further modified based on the sampled playback, and the size of the buffer is further adjusted based on the modified time reference, and wherein the time reference is an absolute time reference.

11. A method according to claim 10 , wherein the communication session is over a wireless link, and the participant device is determined as subject to audio interference within the predetermined proximity of the primary device.

12. A method according to claim 10 , wherein the devices include either a computing device, a mobile phone, or a set-top box.

13. A method according to claim 10 , further comprising:

generating a request to subscribe to a synchronization service for synchronizing playback of the content among a plurality of devices.

14. A method according to claim 13 , wherein each of the devices is configured to execute a synchronization application to communicate with the synchronization service.

15. A method comprising:

receiving, at a participant device, a signal from a primary device that is configured to playback a first unicast feed of content from a content provider, wherein the signal includes a time reference corresponding to the playback by the primary device and a timing difference to synchronize the playback by the primary device with a playback of a second unicast feed of the content from the content provider on the participant device based on the time reference, and the timing difference is caused, at least in part, by a buffer size difference between the primary device and the participant device;

in response to the received signal, adjusting, at the participant device, a size of a buffer of the participant device based on the buffer size difference and overall resource and device memory capacity of the participant device, wherein the buffer is configured to store the content for the playback on the participant device; and

sampling, by the participant device, playback of the content on the primary device, wherein the time reference is further modified based on the sampled playback, and the size of the buffer is further adjusted based on the modified time reference, and wherein the participant device is subject to signal interference within a predetermined proximity of the primary device, and the time reference is an absolute time reference.

16. A method according to claim 15 , wherein the devices include a computing device, a mobile phone, or a set-top box.

17. A method according to claim 15 , wherein the signal includes timing information to assist with the synchronization of the playbacks, the method further comprising:

adjusting depth of a buffer of the participant device based on the received signal, wherein the buffer is configured to store the content for the playback on the participant device.

18. A method according to claim 17 , wherein the playback includes an audio signal, the method further comprising:

sampling the audio signal via a microphone coupled to the participant device, wherein the time reference is determined using the audio signal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2010
From: HUBNER, PAUL; HUBNER, ERIK A.; ARCHER, STEVEN T.; PATE, KRISTOPHER; CLAVENNA, ROBERT A.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 025074/0418 →
Continuity (1)
Related Publication 20120082424A1 · Apr 5, 2012