IP Library Granted Patent US 9,961,415
Granted Patent B2
US 9,961,415 · App. 14/163,310 · Granted May 1, 2018

Method and system for identifying events in a streaming media program

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,961,415
App. No.
14/163,310
Granted
May 1, 2018
Kind
B2
Abstract

The present invention teaches a method and system for uniquely defining and identifying events within a streaming media program. Programs and additional content can be stored with inband data in the stored content and that inband data can be dynamically updated, to include additional information such as instance counters, when the stored content it is requested by a rendering device. The additional information is used to uniquely identify the rendering of the program or additional content to allow a rendering device to perform actions based upon those unique identifiers.

Claims (51)

1. A method of identifying events in streaming media programs, comprising:

receiving, by a rendering device from a streaming media system, a manifest comprising identifiers of a plurality of chunks of a streaming media program and additional content;

receiving, by the rendering device from the streaming media system, an event description list comprising identifiers of events and corresponding actions;

transmitting, by the rendering device to the streaming media system, a request for a chunk of the plurality of chunks of the additional content, the request comprising chunk identification data and instance data;

receiving, by the rendering device from the streaming media system, the chunk of the plurality of chunks, the chunk comprising modified in-band timed metadata encoding a first event identifier in the event description list and instance information based on the instance data appended by the streaming media system to in-band timed metadata;

decoding, by the rendering device, the chunk and reading, during decoding of the chunk, a first event identifier from the modified in-band timed metadata of the chunk;

selecting, by the rendering device responsive to reading the first event identifier, a first action corresponding to the first event identifier in the event description list; and

performing, by the rendering device, the first action selected from the event description list.

2. The method of claim 1 , comprising transmitting, to the streaming media system, a report containing data indicative of the rendering device performing the first action.

3. The method of claim 1 , wherein performing the first action includes changing a display resolution.

4. The method of claim 1 , wherein performing the first action includes reporting, by the rendering device to the streaming media system, decoding of the chunk.

5. The method of claim 1 , wherein performing the first action includes displaying, by a video player executed by the rendering device, the additional content overlaid over a presentation of the streaming media program.

6. The method of claim 5 , wherein performing the first action includes locking the video player while displaying the additional content.

7. The method of claim 1 , comprising confirming playback of a specified portion of the streaming media program.

8. A method of identifying events in streaming media programs, comprising:

transmitting, by a streaming media system to a rendering device, a manifest comprising identifiers of a plurality of chunks of a streaming media program and additional content;

transmitting, by the streaming media system to the rendering device, an event description list comprising identifiers of events and corresponding actions;

receiving, by the streaming media system from the rendering device, a request for a chunk of the plurality of chunks, the request comprising chunk identification data and instance data;

retrieving, by the streaming media system, the chunk, the chunk including in-band timed metadata;

appending, by the streaming media system, instance information to the in-band timed metadata based on the instance data to generate modified in-band timed metadata that includes an encoded first event identifier in the event description list;

transmitting, by the streaming media system to the rendering device, the chunk of the plurality of chunks;

receiving, by the streaming media system from the rendering device, a report containing data indicative of the rendering device performing a first action corresponding to the first event identifier in the event description list.

9. The method of claim 8 , comprising appending the modified in-band timed metadata to the transmitted chunk of the plurality of chunks.

10. The method of claim 8 , wherein performing the first action includes reporting, by the rendering device to the streaming media system, decoding of the chunk.

11. The method of claim 8 , wherein performing the first action comprises displaying, by a video player executed by the rendering device, the additional content overlaid over a presentation of the streaming media program.

12. The method of claim 8 , comprising receiving confirmation of playback of a specified portion of the streaming media program.

13. A streaming media system, comprising:

a program management system configured to:

transmit, to a rendering device, a manifest comprising identifiers of a plurality of chunks of a streaming media program and additional content, and

transmit, to the rendering device, an event description list comprising identifiers of events and corresponding actions;

a content delivery network configured to:

receive, from the rendering device, a request for a chunk corresponding to one of the identifiers of the manifest, the request comprising chunk identification data and instance data,

retrieve the chunk, the chunk including in-band timed metadata encoding video data and audio data,

append instance information to the in-band timed metadata based on the instance data to generate modified in-band timed metadata that includes an encoded first event identifier in the event description list, and

transmit, to the rendering device using a transport stream media protocol responsive to the request, the chunk; and

an in-band data manager configured to:

receive, from the rendering device, a report containing data indicative of the rendering device performing a first action corresponding to the first event identifier in the event description list.

14. The streaming media system of claim 13 , the in-band data manager further configured to append the modified in-band timed metadata to the transmitted chunk.

15. The streaming media system of claim 13 , wherein performing the first action includes reporting, by the rendering device to the streaming media system, decoding of the chunk.

16. The streaming media system of claim 13 , wherein performing the first action comprises displaying, by a video player executed by the rendering device, additional content overlaid over a presentation of the streaming media program.

17. The streaming media system of claim 13 , comprising receiving confirmation of playback of a specified portion of the streaming media program.

18. A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to:

transmit, to a rendering device, a manifest comprising identifiers of a plurality of chunks of a streaming media program and additional content;

transmit, to the rendering device, an event description list comprising identifiers of events and corresponding actions;

receive, from the rendering device, a request for a chunk of the plurality of chunks, the request comprising chunk identification data and instance data;

retrieve the chunk, the chunk including in-band timed metadata;

append instance information to the in-band timed metadata based on the instance data to generate modified in-band timed metadata that includes an encoded first event identifier in the event description list;

transmit, to the rendering device, the chunk of the plurality of chunks; and

receive, from the rendering device, a report containing data indicative of the rendering device performing a first action corresponding to the first event identifier in the event description list.

19. The non-transitory computer readable medium of claim 18 , the instructions further causing the processor to append the modified in-band timed metadata to the transmitted chunk.

20. The non-transitory computer readable medium of claim 18 , the instructions further causing the processor to receive confirmation of playback of a specified portion of the streaming media program.

Assignments (3)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2015
From: MDIALOG CORPORATION
To: GOOGLE INC.
Reel/Frame 035268/0242 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2014
From: PHILPOTT, GREGORY ROBERT; PATEL, INDRAVADAN VIPINBHAI; DINN, CHRISTOPHER GARY
To: MDIALOG CORPORATION
Reel/Frame 032041/0040 →