IP Library Granted Patent US 9,654,758
Granted Patent B2
US 9,654,758 · App. 14/170,586 · Granted May 16, 2017

Synchronizing external data to video playback

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,654,758
App. No.
14/170,586
Granted
May 16, 2017
Kind
B2
Abstract

The subject disclosure is generally directed towards synchronizing live streaming videos with additional sources of contextually-related data. In one or more aspects, contextually-related data is marked with a timestamp, with a reference to each piece of data maintained in a manifest. The manifest is accessed to locate the contextually relevant information (e.g., on a companion device or the video playing device) in synchronization with the streaming video, such that a user is able to pause/stop/rewind/fast forward while maintaining the timeline synchronization between video and the data.

Claims (49)

1. A method comprising:

receiving a video stream from a video source;

separating the video stream into a plurality of time windows;

upon playing the video stream, determine that the video stream has entered a first time window;

requesting, from a data source separate from the video source, at least one data manifest chunk associated with the first time window, the at least one data manifest chunk

comprising event data that is marked with synchronization markers that correspond to a plurality of locations in the video stream;

determining that a first location of the plurality of locations in the video stream has been reached;

based on the determination that the first location in the video stream has been reached, identifying a first set of the event data that corresponds to the first location;

altering the first set of event data prior to providing access to the first set of event data based on a determination that a second set of event related data has not been provided; and

outputting the altered first set of the event data in synchronization with outputting the video stream at the first location of the video stream.

2. The method of claim 1 , wherein the at least one data manifest chunk comprises a plurality of data manifest chunks, respective ones of the plurality of data manifest chunks being associated with respective event data.

3. The method of claim 2 , further comprising accessing the first set of the event data for the location within the video stream based upon information in the at least one data manifest chunk.

4. The method of claim 3 , wherein accessing the first set of the event data comprises retrieving a data blob via a Uniform Resource Locator identified in the at least one data manifest chunk.

5. The method of claim 3 , further comprising outputting the altered first set of the event data based upon a synchronization marker associated with the first location of the plurality of locations within the video stream.

6. The method of claim 5 , further comprising stamping the first set of the event data with the synchronization marker in which the synchronization marker comprises a timestamp.

7. The method of claim 1 , wherein outputting the first set of the event data comprises displaying a representation of the altered first set of the event data on at least one companion device.

8. The method of claim 1 , wherein outputting the altered first set of the event data comprises displaying a representation of the altered first set of the event data on a device that also plays video corresponding to the video stream.

9. The method of claim 1 , further comprising:

determining a new location within the video stream that is not a location associated with the at least one data manifest chunk;

sending a request based on the new location within the video stream for information corresponding to the first set of the event data; and

receiving the information comprising the first set of the event data or a reference to the first set of the event data in another data manifest chunk.

10. The method of claim 1 , wherein the video stream is a live video stream feed being played in real time.

11. The method of claim 1 , wherein the second set of event related data is associated with a second location in the video stream that is prior to the first location in the video stream.

12. A system comprising:

a data service, the data service configured to:

obtain event-related data that is generated in conjunction with streaming video of an event;

stamp the event-related data with a synchronization marker;

altering the first set of event data prior to providing access to the event related data based on a determination that other event related data has not been provided; and

output synchronization-marked data that corresponds to the altered event-related data for access; and

a data encoding service, the data encoding service configured to:

communicate with the data service to obtain information corresponding to the altered event-related data;

maintain a manifest based upon the information; and

return at least part of the manifest in response to a request for manifest content, in which the manifest content provides information by which the synchronization-marked data is accessible for use in synchronizing with streamed video content based upon one or more synchronization markers in the synchronization-marked data.

13. The system of claim 12 , wherein the synchronization-marked data is contained within one or more data blobs, with at least one data blob accessible via a Uniform Resource Locator identified in the manifest content.

14. The system of claim 12 , wherein the data service is further configured to differentiate between continuous mode data and discreet mode data.

15. The system of claim 12 , further comprising a video playing device configured to communicate with the data encoding service to request the manifest content in conjunction with streamed video played by the video playing device.

16. The system of claim 15 , further comprising a companion device configured to:

communicate with the video playing device;

receive information by which the synchronization-marked data is accessible download the synchronization-marked data; and

display a representation of the synchronization-marked data.

17. The system of claim 12 , wherein the data service is configured to obtain the event-related data from a data storage that maintains the event-related data separately from the streaming video.

18. The system of claim 12 , wherein the manifest is configured as a plurality of chunks divided by time.

19. One or more machine-readable storage devices having executable instructions for synchronizing event-related data from a data source with streaming video from a video source, the executable instructions cause one or more processors to perform operations comprising:

marking the event-related data with synchronization markers that correspond to locations in the streaming video;

determining that the video stream has reached a particular point in time in the video stream;

requesting, from the data source, at least one data manifest chunk associated with the particular point in time, the at least one data manifest chunk comprising a portion of the event-related data, the portion of the event related data being marked with a synchronization marker associated with the particular point in time in the video stream;

altering the event related data prior to providing access to the portion of the event related data based on a determination that another portion of the event related data has not been provided; and

providing access to the altered portion of the event-related data marked with the synchronization markers.

20. The one or more machine-readable storage devices of claim 19 having further executable instructions that cause the one or more processors to perform an operation comprising outputting at least some discreet mode data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2014
From: STELMACK, SHAUN MICHAEL; PERZEL, MATTHEW FRANKLIN; ARVANITIS, KONSTADINOS
To: MICROSOFT CORPORATION
Reel/Frame 032150/0918 →