# US 10,873,774 B2 · Publishing a disparate live media output stream manifest that includes one or more media segments corresponding to key events

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,873,774 B2
- Document ID: US10873774B2
- Status: Granted
- Kind: B2
- Application number: 16/231,467
- Filed: 2018-12-22
- Published: 2020-06-25
- Granted: 2020-12-22
- Earliest claimed: 2018-12-22
- Assignees: Turner Broadcasting System, Inc.
- Applicants: Turner Broadcasting Systems, Inc.
- Inventors: Donald Jude Loheide; Nishith Kumar Sinha; Nicolas Paul Webb
- Web page: https://patentgrep.com/patent/US10873774B2

## CPC

- H04N 21/2353: {specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 65/612: for unicast
- H04L 65/70: Media network packetisation
- H04L 65/752: adapting media to network capabilities
- H04L 65/80: Responding to QoS
- H04N 21/2187: Live feed
- H04N 21/23614: {Multiplexing of additional data and video streams (arrangements for simultaneous broadcast of plural pieces of information H04H20/28)}
- H04N 21/26258: {for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40)}
- H04N 21/26616: {for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth (data multicast over packet-switching network H04L12/18)}
- H04N 21/8549: Creating video summaries, e.g. movie trailer {(retrieval in video databases by using presentations in form of a video summary G06F16/739)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Provided are a system and method for publishing a disparate live media output stream manifest that includes one or more media segments corresponding to key events. The system comprises one or more processors that generate a programming schedule, based on a synchronization of one or more disparate sub-systems in the system, includes one or more key events that occurred from a starting point until a current live point in a live input stream. Further, a reference clock provides a reference time to synchronize the one or more disparate sub-systems. Based on the programming schedule, one or more processors insert the current live point and one or more media segments corresponding to the one or more key events that occurred prior to the current live point included in a live input stream manifest into a disparate live media output stream manifest, which is further published based on the insertion.

## Claims

### Claim 1

A system comprising:
one or more processors configured to:
generate a programming schedule that includes one or more key events that occurred from a starting point until a current live point in a live input stream, wherein the programming schedule is generated based on a synchronization of one or more disparate sub-systems in the system, and
wherein a reference clock provides a reference time to synchronize the one or more disparate sub-systems;
insert the current live point and at least one or more media segments corresponding to the one or more key events that occurred prior to the current live point included in a live input stream manifest into disparate live media output stream manifests based on the programming schedule; and
publish the disparate live media output stream manifests based on the insertion;
wherein a time code from the reference clock is recovered and re-embedded in one or more downstream sub-systems of the one or more disparate sub-systems,
wherein a first downstream sub-system uses the reference clock as a time source that indicates in the disparate live media output stream manifests when each media segment was published, and
wherein a second downstream sub-system embeds the reference clock as metadata along with the one or more media segments for delivery to one or more consumer devices.

### Claim 2 (depends on 1)

The system according to claim 1, wherein the one more processors are further configured to customize one or more key events included in the disparate live media output stream manifests.

### Claim 3 (depends on 1)

The system according to claim 1, wherein a timecode from the reference clock is embedded in a live production and playout system of the one or more disparate sub-systems and available for distribution, and
wherein the live production and playout system is configured to generate the live input stream.

### Claim 4 (depends on 1)

The system according to claim 1, wherein a consumer device of the one or more consumer devices is configured to receive and decode the reference clock as each media segment is played back.

### Claim 5 (depends on 4)

The system according to claim 4, wherein the consumer device receives normalized event metadata and build a timeline for additional information that enhances consumer experience, and
wherein the timeline is based on the reference clock present in the disparate live media output stream and used to timestamp events in the normalized event metadata.

### Claim 6 (depends on 5)

The system according to claim 5, wherein the consumer device further identifies links to media or data in the normalized event metadata and present media or data along with other specified data at a correct point in the timeline.

### Claim 7 (depends on 1)

The system according to claim 1, wherein a time code from the reference clock is used as the reference time to log content related to the one or more key events that occur within a live production and playout system of the one or more disparate sub-systems,
wherein the one or more processors are further configured to introduce a time offset to compensate for a delay if a logging system is located at a different location from the live production and playout system where the delay is one of an encoder delay and/or network delay, and
wherein the logging system of the one or more disparate sub-systems is configured to decode the reference clock from the live input stream when delay is not fixed.

### Claim 8 (depends on 7)

The system according to claim 7, wherein the one or more processors are further configured to associate each logged one or more key events with corresponding timecodes.

### Claim 9 (depends on 8)

The system according to claim 8, wherein the one or more processors are further configured to rate the one or more key events on a rating scale.

### Claim 10 (depends on 1)

The system according to claim 1, wherein the one or more processors are further configured to:
associate the one or more key events with additional information regarding the one or more key events, and
generate a normalized event metadata scheme based on a list of the one or more key events with associated timecode, rating, and additional information or links for media and/or data.

### Claim 11 (depends on 1)

The system according to claim 1, wherein the one or more processors are further configured to determine which of the one or more key events to include in the disparate live media output stream manifests that include the one or more key events prior to the current live point.

### Claim 12 (depends on 11)

The system according to claim 11, wherein the one or more processors are further configured to:
limit number of the one or more key events to be included based on a maximum time threshold, and
include the one or more key events with a rating that exceeds a threshold rating.

### Claim 13 (depends on 11)

The system according to claim 11, wherein the one or more processors are further configured to:
continuously monitor the one or more key events; and
log new key events and/or modify a rating of the one or more key events.

### Claim 14 (depends on 11)

The system according to claim 11, wherein the one or more processors are further configured to associate a timecode of each of the one or more key events with corresponding media segments in the live input stream, and
wherein the corresponding media segments are determined based on an indication by the reference clock about publish time of each of the corresponding media segments.

### Claim 15 (depends on 11)

The system according to claim 11, wherein the generated programming schedule further comprises one or more indicators to mark discontinuities between key events.

### Claim 16 (depends on 15)

The system according to claim 15, wherein the one or more processors are further configured to:
schedule an overlay indicator of the one or more indicators to show non-programming content during the one or more key events; and/or schedule a non-programming indicator:
before or after a sequence of the one or more key events to allow for additional or alternative non-programming content, or
during the one or more key events based on a rule to place a non-programming content after a defined number of key events to allow for additional or alternative non-programming content.

### Claim 17 (depends on 11)

The system according to claim 11, wherein the one or more processors are further configured to generate a condensed version of a pre-encoded media asset once the pre-encoded media asset ends based on metadata associated with one or more key events in the pre-encoded media asset.

### Claim 18 (depends on 1)

The system according to claim 1, wherein the programming schedule is a catch-up schedule.

### Claim 19

A method comprising:
generating, by one or more processors, a programming schedule that includes one or more key events that occurred from a starting point until a current live point in a live input stream,
wherein the programming schedule is generated based on a synchronization of one or more disparate sub-systems in the system, and
wherein a reference clock provides a reference time to synchronize the one or more disparate sub-systems;
inserting, by the one or more processors, the current live point and at least one or more media segments corresponding to the one or more key events that occurred prior to the current live point included in a live input stream manifest into disparate live media output stream manifests based on the programming schedule; and
publishing, by the one or more processors, the disparate live media output stream manifests based on the insertion;
wherein a time code from the reference clock is recovered and re-embedded in one or more downstream sub-systems of the one or more disparate sub-systems,
wherein a first downstream sub-system uses the reference clock as a time source that indicates in the disparate live media output stream manifests when each media segment was published, and
wherein a second downstream sub-system embeds the reference clock as metadata along with the one or more media segments for delivery to one or more consumer devices.

### Claim 20 (depends on 19)

The method according to claim 19, further comprising customizing, by the one or more processors, one or more key events included in the disparate live media output stream manifests.

### Claim 21 (depends on 19)

The method according to claim 19, wherein a timecode from the reference clock is embedded in a live production and playout system of the one or more disparate sub-systems and available for distribution, and
wherein the live production and playout system is configured to generate the live input stream.

### Claim 22 (depends on 19)

The method according to claim 19, wherein a consumer device of the one or more consumer devices receives and decodes the reference clock as each media segment is played back.

### Claim 23 (depends on 22)

The method according to claim 22, wherein the consumer device receives normalized event metadata and build a timeline for additional information that enhances consumer experience, and
wherein the timeline is based on the reference clock present in the disparate live media output stream and used to timestamp events in the normalized event metadata.

### Claim 24 (depends on 23)

The method according to claim 23, wherein the consumer device further identifies links to media or data in the normalized event metadata and present media or data along with other specified data at a correct point in the timeline.

### Claim 25 (depends on 19)

The method according to claim 19, further comprising introducing, by the one or more processors, a time offset to compensate for a delay if a logging system is located at a different location from the live production and playout system where the delay is one of an encoder delay and/or network delay,
wherein a time code from the reference clock is used as the reference time to log content related to the one or more key events that occur within a live production and playout system of the one or more disparate sub-systems, and
wherein the logging system of the one or more disparate sub-systems is configured to decode the reference clock from the live input stream when delay is not fixed.

### Claim 26 (depends on 25)

The method according to claim 25, further comprising associating, by the one or more processors, each logged one or more key events with corresponding timecodes.

### Claim 27 (depends on 26)

The method according to claim 26, further comprising rating, by the one or more processors, the one or more key events on a rating scale.

### Claim 28 (depends on 19)

The method according to claim 19, further comprising:
associating, by the one or more processors, the one or more key events with additional information regarding the one or more key events, and
generating, by the one or more processors, a normalized event metadata scheme based on a listing of the one or more key events with associated timecode, rating, and additional information or links for media and/or data.

### Claim 29 (depends on 19)

The method according to claim 19, further comprising determining, by the one or more processors, which of the one or more key events to include in the disparate live media output stream manifests that includes the one or more key events prior to the current live point.

### Claim 30 (depends on 29)

The method according to claim 29, further comprising:
limiting, by the one or more processors, number of the one or more key events to be included based on a maximum time threshold, and
including, by the one or more processors, the one or more key events with a rating that exceeds a threshold rating.

### Claim 31 (depends on 29)

The method according to claim 29, further comprising:
continuously monitoring, by the one or more processors, the one or more key events; and
logging, by the one or more processors, new key events and/or modify a rating of the one or more key events.

### Claim 32 (depends on 29)

The method according to claim 29, further comprising associating, by the one or more processors, a timecode of each of the one or more key events with corresponding media segments in the live input stream, and
wherein the corresponding media segments are determined based on an indication by the reference clock about publishing time of each of the corresponding media segments.

### Claim 33 (depends on 29)

The method according to claim 29, wherein the generated programming schedule further comprises one or more indicators to mark discontinuities between key events.

### Claim 34 (depends on 33)

The method according to claim 33, further comprising:
scheduling, by the one or more processors, an overlay indicator of the one or more indicators to show non-programming content during the one or more key events; and/or schedule a non-programming indicator:
before or after a sequence of the one or more key events to allow for additional or alternative non-programming content, or
during the one or more key events based on a rule to place a non-programming content after a defined number of key events to allow for additional or alternative non-programming content.

### Claim 35 (depends on 29)

The method according to claim 29, further comprising generating, by the one or more processors, a condensed version of a pre-encoded media asset once the pre-encoded media asset ends based on metadata associated with one or more key events in the pre-encoded media asset.

### Claim 36 (depends on 19)

The method according to claim 19, wherein the programming schedule is a catch-up schedule.

### Claim 37

A non-transitory computer-readable medium having stored thereon, computer implemented instruction that when executed by a processor in a computer, causes the computer to execute operations, the operations comprising:
in a media content packaging and distribution system that publishes disparate live media output stream manifests that includes one or more media segments corresponding to key events;
generating a programming schedule that includes one or more key events that occurred from a starting point until a current live point in a live input stream,
wherein the programming schedule is generated based on a synchronization of one or more disparate sub-systems in the system, and
wherein a reference clock provides a reference time to synchronize the one or more disparate sub-systems;
inserting the current live point and at least one or more media segments corresponding to the one or more key events that occurred prior to the current live point included in a live input stream manifest into disparate live media output stream manifests based on the programming schedule; and
publishing the disparate live media output stream manifests based on the insertion;
wherein a time code from the reference clock is recovered and re-embedded in one or more downstream sub-systems of the one or more disparate sub-systems,
wherein a first downstream sub-system uses the reference clock as a time source that indicates in the disparate live media output stream manifests when each media segment was published, and
wherein a second downstream sub-system embeds the reference clock as metadata along with the one or more media segments for delivery to one or more consumer devices.
