IP Library Granted Patent US 10,200,434
Granted Patent B1
US 10,200,434 · App. 15/263,102 · Granted Feb 5, 2019

Encoding markers in transport streams

Inventor: Trevor Wells (Washougal, WA)
Assignee: Amazon Technologies, Inc.
H04L65/607H04L65/601H04N21/4385H04N21/44004H04N21/43635
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 10,200,434
App. No.
15/263,102
Granted
Feb 5, 2019
Kind
B1
Abstract

Pre-roll markers are encoded into media content at determined locations to provide a specified amount of pre-roll time before supplemental content is to be provided in place of the primary content of the media file. The supplemental content can be any appropriate content, as may relate to promotional or information content relevant in some way to the primary content or a viewer of the primary content. A marker such as a SCTE-104 message can be received with the media input and translated to a SCTE-35 message during the encoding process. The video stream can be buffered by an amount corresponding to a determined pull-up time such that the SCTE-35 marker, when received to the multiplexer, can be placed into the transport stream at the appropriate location. When received, the marker can provide sufficient notice to prepare the supplemental content to be displayed at the injection point.

Claims (66)

1. A computer-implemented method, comprising:

receiving input content to an interface of an encoding system;

detecting a SCTE-104 marker in the input content, the SCTE-104 marker indicating a time code in the input content corresponding to an injection point for supplemental content;

translating the SCTE-104 marker to a SCTE-35 marker corresponding to the injection point, the SCTE-35 marker having a default pre-roll time;

determining a pull-up time to be implemented for the SCTE-35 marker, the pull-up time corresponding to a difference between the default pre-roll time and a specified pre-roll time;

buffering a video stream portion of the input content by an amount determined based at least in part upon a frame rate of the video stream portion and the pull-up time;

receiving, at a multiplexer of the encoding system, the SCTE-35 marker;

causing the SCTE-35 marker to be placed, in an output stream of encoded content, at a location corresponding to an amount of the pull-up time before a default location of the SCTE-35 marker determined based on the default pre-roll time; and

transmitting the output stream to a client device, wherein the client device is enabled to detect the SCTE-35 marker during presentation of the encoded content and cause supplemental content to be presented.

2. The computer-implemented method of claim 1 , further comprising:

separating the input content into individual streams including at least the video stream portion and a data stream portion;

receiving the SCTE-35 message over the data stream portion; and

multiplexing at least the video stream portion and the data stream portion via the multiplexer to generate the output stream of encoded content, the encoded content corresponding to a format for presentation via the client device.

3. The computer-implemented method of claim 1 , further comprising:

ensuring that an instantaneous decoder refresh (IDR) frame is encoded into the output stream at the injection point such that any frames of video content located subsequent the IDR frame do not refer to video frames prior to the IDR frame in the output stream.

4. The computer-implemented method of claim 1 , further comprising:

receiving the input content to one of a serial digital interface (SDI) input, an asynchronous serial interface (ASI) input, an electronic data processing (EDP) input, a user datagram protocol (UDP) input, or a high-definition multimedia input (HDMI) of the encoding system.

5. A computer-implemented method, comprising:

receiving media content to an interface of an encoding system;

determining an action point of a video portion of the input media content;

determining a specified pre-roll time to be implemented for the action point;

encoding the media content to an output format for presentation via an electronic device;

causing a pre-roll marker specified by SCTE-35 to be placed in the media content, during the encoding, at a determined location associated with an amount of pull-up time relative to a default pre-roll time specified by SCTE-35 for the action point, the pull-up time corresponding to a difference between the specified pre-roll time and the default pre-roll time; and

providing, from the encoding system, the media content in the output format.

6. The computer-implemented method of claim 5 , further comprising:

buffering at least the video portion of the media content by at least an amount corresponding to the pull-up time, an amount of the buffering allowing the pre-roll marker to be placed in the media content at the determined location.

7. The computer-implemented method of claim 5 , further comprising:

multiplexing the video portion and at least an audio portion using a multiplexer of the encoding system, the video portion being buffered in a video buffer of the multiplexer.

8. The computer-implemented method of claim 5 , further comprising:

receiving the media content to one of a serial digital interface (SDI) input, an asynchronous serial interface (ASI) input, an electronic data processing (EDP) input, a user datagram protocol (UDP) input, or a high-definition multimedia input (HDMI) of the encoding system.

9. The computer-implemented method of claim 5 , further comprising:

detecting a SCTE-104 marker in the media content corresponding to the action point; and

translating the SCTE-104 marker to the pre-roll marker.

10. The computer-implemented method of claim 9 , wherein the pre-roll marker is received in the media content.

11. The computer-implemented method of claim 5 , further comprising:

ensuring that an instantaneous decoder refresh (IDR) frame is encoded into the media content at the action point such that any frames of video content located subsequent the IDR frame do not refer to video frames prior to the IDR frame in the media content, the action point being an injection point for displaying alternative content before resuming presentation of the media content.

12. The computer-implemented method of claim 5 , further comprising:

analyzing a program clock reference (PCR) to determine the location corresponding to the amount of the pre-roll time relative to the action point; and

buffering at least the video portion of the media content in a video buffer of the encoding system, the video buffer positioned before an interleave scheduler of a multiplexer of the encoding system.

13. The computer-implemented method of claim 5 , further comprising:

separating the media content, received to the interface of the encoding system into individual streams including the video stream portion, an audio stream portion, and a data stream portion; and

multiplexing the video stream portion, the audio stream portion, and the data stream portion to generate the media content in the output format.

14. The computer-implemented method of claim 5 , further comprising:

obtaining a value for the pre-roll time using an application programming interface (API) in communication with the encoding system.

15. A system, comprising:

at least one processor; and

memory including instructions that, when executed by the system, cause the system to:

receive media content to an interface of an encoding system;

determine an injection point of a video portion of the input media content;

determine a specified pre-roll time to be implemented for the injection point;

encode the media content to an output format for presentation via an electronic device;

cause a pre-roll marker specified by SCTE-35 to be placed in the media content, during the encoding, at a determined location corresponding to an amount of pull-up time relative to a default pre-roll time specified by SCTE-35 for the action point, the pull-up time corresponding to a difference between the specified pre-roll time and the default pre-roll time; and

provide, from the encoding system, the media content in the output format.

16. The system of claim 15 , wherein the instructions when executed further cause the system to:

buffer at least the video portion of the media content until the pre-roll marker is received indicating the injection point, an amount of the buffering sufficient to enable the pre-roll marker to be placed in the media content at the location corresponding to the amount of the pre-roll time relative to the injection point.

17. The system of claim 15 , wherein the instructions when executed further cause the system to:

detect a SCTE-104 marker in the media content corresponding to the injection point; and

translate the SCTE-104 marker to the pre-roll marker.

18. The system of claim 15 , wherein the instructions when executed further cause the system to:

ensure that an instantaneous decoder refresh (IDR) frame is encoded into the media content at the injection point such that any frames of video content located subsequent the IDR frame do not refer to video frames prior to the IDR frame in the media content.

19. The system of claim 15 , wherein the instructions when executed further cause the system to

analyze a program clock reference (PCR) to determine the location corresponding to the amount of the pre-roll time relative to the injection point; and

buffer at least the video portion of the media content in a video buffer of the encoding system, the video buffer positioned before an interleave scheduler of a multiplexer of the encoding system.

20. The system of claim 15 , wherein the instructions when executed further cause the system to:

separate the media content, received to the interface of the encoding system into individual streams including the video stream portion, an audio stream portion, and a data stream portion; and

multiplex the video stream portion, the audio stream portion, and the data stream portion to generate the media content in the output format.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2016
From: WELLS, TREVOR
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 039718/0497 →
Cited By (3)
US 12,363,398 US 12,563,260 US 12,563,273