Method and video controller for controlling delivered video

It is provided a method for controlling delivered video based on a source video. The source video includes a first video sequence followed by a first replacement time slot, the first replacement time slot followed by a third video sequence. The method includes requesting a second video sequence with a maximum duration Treq by a video controller to be inserted into a time slot corresponding to the first replacement time slot in the delivered video. The duration T2 of the second video sequence is shorter or equal to Treq, determining the time difference T10−T2 between the duration T10 of the first replacement time slot and the duration of the second video sequence by the video controller; placing the second video sequence by the video controller into a time slot in the delivered video corresponding to first replacement time slot and shifting the subsequent third video sequence towards the second video sequence in the delivered video, and thereby providing a continuous video stream through influencing of the delay between the video source and the delivered video.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the United States national phase of International Application No. PCT/EP2020/075183 filed Sep. 9, 2020, and claims priority to German Patent Application No. 10 2019 213 741.5 filed Sep. 10, 2019, the disclosures of which are hereby incorporated by reference in their entirety.

BACKGROUND OF THE INVENTION

Field of the Invention

The disclosure relates to a method for controlling delivered video and a video controller for controlling delivered video.

Description of Related Art

In a video source such as e.g. a live video stream using HLS (HTTP Live Streaming) or DASH (Dynamic Adaptive Streaming over HTTP), it is possible to replace certain parts with a replacement time slot (starting at a relative or absolute point in time and having a well-defined duration) for content blocks from other sources (e.g., to be replaced by (individual) advertising blocks, broadcast content, program/content announcements, regionalized content, emergency notifications). Therefore, a video controller can dynamically insert content (i.e. a requested video sequence) into delivered video.

Today, if the inserted video sequence (with e.g. one or more advertisements) is shorter than the assigned time slot for the insertion, so-called slates (e.g. ad-slates) are inserted into the delivered video to completely fill the time slot. This is e.g. described in EP 2 868 097 A1.

This procedure has disadvantages.

Especially for very short gaps (e.g. <0.5 seconds) resulting from a nearly fitting insertion, this would result in an unpleasant user experience due to the very short cut (“jerky picture” or “stuttering sound”).

Slate content is only filler material that is neither desired nor commercially relevant in the delivered video. Especially very small differences between the duration of the replacement time slot and the duration of the inserted video sequence leads to technical problems when playing the delivered video. The technical problems are caused in particular by differences in format and can, in the worst case, result in re-initializations of the video player. The consequences might e.g. be stream aborts or incorrect player behaviour like stalling.

Alternatively, if slate content were completely omitted, the resulting temporal offsets in the resulting delivered video (e.g. a live stream) were accumulated over time, resulting in a lack of video to display. This happens when the video buffer in the client is used up by the data difference between elapsed streaming time and elapsed display duration.

When replacing video content in a source video, such as a live stream, the duration (time length) of the inserted content has to correspond to the duration of the replacement time slot. Otherwise there will be a shift at the “live edge” of the video, i.e. the delivered video falls behind the video source in time if the inserted material is longer than the original.

If the inserted video sequence is too short for the replacement time slot, the video player is potentially no longer able to access video material needed at the live edge. The stream would stop until more footage becomes available.

US 2014/0 068 648 A1 discloses systems, methods and articles to provide content in network environment. A content delivery system may include a metadata tunnel system component which is responsive to defined subaudible tones in programming, for instance programming provided for a broadcast. An action may be based on a characteristic or aspect of the subaudible tone, for instance frequency and/or duration. The metadata tunnel system may selectively generate or provide modified or new metadata to downstream components (e.g., injector system, encoder). The metadata tunnel system may provide metadata that causes a content provider identifier that identifies a content provider to appear in an alternative feed of programming (e.g., streaming programming) at points downstream of a broadcaster, for instance at end user media players. The metadata tunnel system may provide metadata that inhibits an injector system from injecting (e.g., inserting, substituting) new content into the alternative feed of programming created from portions of broadcast programming.

SUMMARY OF THE INVENTION

Therefore, methods and video controllers are required to efficiently handle the exchange of insertion time slots by video sequences in delivered video.

This is addressed by a method with features as described herein.

A source video comprises a first video sequence followed by a first replacement time slot which in turn is followed by a third video sequence. Hence, this embodiment works on three consecutive video sequences. Both the first and the third video sequence may recursively be substructured into video sequences and insertion time slots like a (complete) source video and handled accordingly.

A video controller first requests a second video sequence to be inserted into the time slot corresponding to the replacement time slot in the delivered video. The corresponding time slot in this case in the delivered video is the time slot which follows the first video sequence.

The duration T2of the second video sequence is shorter or equal to Treq, i.e. the duration of the request video sequence. This represents a maximum duration for the second video sequence. The duration T2of the second video sequence can in particular be different from the duration T10of the first replacement time slot, i.e. it can be longer or shorter.

Then, the video controller determines the time difference T10−T2between the duration of the first replacement time slot T10and the duration T2of the second video sequence.

Subsequently, the video controller places the second video sequence into a slot in the delivered video corresponding to the first replacement time slot and shifts the subsequent third video sequence (and all subsequent sequences) towards the second video sequence in the delivered video and thereby providing a continuous video stream through influencing of the delay between the video source and the delivered video.

With this method, e.g. a shorter video sequence can be inserted without the necessity of inserting slates at this point, as the subsequent video sequence is shifted.

In a further embodiment, the time difference T10−T2between the duration of the first replacement time slot and the second video sequence (i.e. the inserted content) is used by the video controller to adapt a duration Treq2of at least one further requested video sequence for a replacement time slot. With this embodiment, negative and positive temporal deviations between the source and the delivered video sequence (i.e. negative and positive delays) can be adjusted to prevent too large deviations. In a further embodiment, a temporal adjustment offset Tncan be added by the video controller to the requested duration Treqof the second video sequence and/or the requested duration Treq2of the at least one second video sequence. In particular, the video controller can adjust the duration of the adjustment offset Tnto control the delay between source video and delivered video.

The source video can be a timed video stream, a scheduled video stream, live linear video stream and or live live linear video stream.

Furthermore, the source video can e.g. be a timed video stream or a scheduled video stream. It is also possible, that the source video is an Internet video stream, in particular an HLS or DASH video stream.

In one embodiment, the third video sequence is e.g. shifted towards the inserted second video sequence so that there is not time gap between the two video sequences.

In one embodiment, the content of the second video sequence is personalized, in particular using an ID for a particular delivery device. The content of the second video e.g. comprises advertising content, broadcast content, program/content announcements, regionalized content and/or emergency notifications. It is also possible, that the request of the second video sequence by the video controller is a personalized request.

The issue is also addressed by a video controller with features as described herein.

DESCRIPTION OF THE INVENTION

InFIG.1different embodiments of a method and a system for controlling delivered video are described.

A video source100comprises the video sequences that eventually become the delivered video200. The video source100can e.g. be a live video, i.e. video data that is to be displayed with no or only a marginal temporal delay to a real-time event. The source video100can e.g. also be video data generated apart from live events (i.e. real-time events). The delivered video200can e.g. be provided over the Internet, over video-on-demand or over other TV channels.

A video controller300controls the processing of the video source100and the delivered video200. The video controller300can be one computer or a computer network with several computers, handling different aspects of the video processing. Some aspects of the video processing are described below in the context of embodiments.

The video source100comprises a plurality of video sequences1,3,4and of replacement time slots10,11and the delivered video200comprises a plurality of video sequences1,2,2a,3,4. (The plurality of video sequences and replacement time slots in the video source results from the possible substructure described above.)

A first embodiment is shown by the left hand side ofFIG.1.

The video source100comprises a first video sequence1which is immediately (i.e. without a temporal gap) followed by a first replacement time slot10with a duration T10. The first replacement time slot10is followed by a third video sequence3.

In the first embodiment, the video controller300requests additional video content for the first replacement time slot10. This additional content can e.g. be an advertisement, in particular a personalized advertisement.

In this embodiment a duration Treqof the requested additional video content is equal to the duration T10of the first replacement time slot10. In other embodiments, the duration Treqof the requested content is different from the duration T10of first replacement time slot10, as will be discussed below.

A replacement video sequence2returned to the video controller300as the result of the request for additional video content here (second video sequence2) has a duration T2, being shorter than T10. The video controller300determines the difference T10−T2of the durations of the first replacement time slot10and the replacement video sequence2.

The replacement video sequence2is placed in the delivered video200at the corresponding position of the first replacement time slot10by the video controller300. This means that the replacement video sequence2becomes video sequence2following the first video sequence1in the delivered video, as the replacement time slot10follows the first video sequence1in the source video100.

In this case the replacement video sequence2has a shorter duration than the first replacement time slot10, therefore the subsequent third video sequence3of the source video is shifted by the video controller300towards the second video sequence2in the delivered video200since T2is smaller than T10.

In the embodiment shown, the shift results in no temporal gap between the first video sequence1and the second video sequence2. In other embodiments, a short gap might remain in the delivered video200.

The insertion of the shorter second video sequence2results in a change in the fill level of the client's video buffer which, in this case, is reduced, as the replacement sequence2and thus the second video sequence2in the delivered video is shorter than the first replacement time slot10.

InFIG.1in the graph at the bottom the delay between the video source and the delivered video at each time is shown.

Some delay is tolerable within limits. The HLS standard e.g. recommends that the buffer should have two to three segments, so that one segment more or less can indeed be considered as tolerable.

The diagram at the bottom ofFIG.1shows that in this case the delay has a negative value of −4 (in arbitrary units) after the insertion of the second video sequence2.

The right part ofFIG.1refers to a further embodiment showing how a decreased delay resulting from e.g. using the embodiment described above can be used later-on has been used.

Here, the decreased duration of video200, resulting from the embodiment described above, can be used to extend the requested replacement duration Treq2for a following replacement time slot11of original duration Tit Specifically, a replacement duration of Treq2=T11+(T10−T2) can be requested to fill up the resulted gap in video time from the before mentioned embodiment.

Here, the duration T11for the second replacement time slot11is shorter than the requested duration Treq2for replacement sequence2a(time difference is Treq2−T11). But this request can be made as there is a decreased delay due to the shift caused by the embodiment mentioned before.

Here, the replacement sequence2ato be inserted in the second replacement time slot11as a replacement has a duration Tea that can be longer than the duration T11of the second replacement time slot11but is shorter than the requested duration Treq2.

The fourth video sequence4is then shifted to follow the inserted second video sequence2ain the delivered video200.

As the time difference Treq2−T2ais smaller than the previously accumulated time difference T10−T2, there is still negative delay, but it has decreased, as can be seen from the graph inFIG.1.

Therefore, the video controller300can take into account the fill level of the video buffer when requesting second video sequences2aas replacements.

If, for example, a negative delay has accumulated to 1.5 seconds (by the way of the first embodiment described above), the request for the second video sequence2acan be extended from e.g. 30 seconds to 31.5 seconds, i.e. T11=30 seconds, Treq2=31.5 seconds.

In the example shown, the actually delivered replacement sequence has a duration of T2a=30.5 seconds. This would reduce the negative delay somewhat.

InFIG.2a further embodiment is described.

When requesting a replacement sequence2,2afor a replacement time slot10,11, the maximal duration is specified. If that maximal requested duration cannot be met, a shorter replacement video sequence2,2ais delivered. This generally results in a permanently negative delay in the delivered video200compared to the video source.

To minimize the absolute value of the average delay (i.e. to even out the delay as adjustment), it is possible to add an adjustment offset Tnto the duration Treqof the requested video sequence. This means, the requested maximum duration of video sequence2is deliberately longer, to—on average—even out the delay between the source video100and the delivered video200.

InFIG.2it is shown that the second video sequence2(time duration T2) is shorter by T10−T2than the first replacement time slot10and the subsequent video sequence3is shifted towards the inserted second video sequence2, just as in the first embodiment discussed in connection withFIG.2.

For the next video sequence request, the duration Treq2is determined as follows: Treq2=T11+(T10−T2)+Tn.

With a longer duration Treq2for the replacement sequence request, a longer video sequence2acan be returned and inserted into the delivered video200.

As can be seen from the graph at the bottom ofFIG.2, the delay is reverted accordingly. By monitoring the delay, the video controller300can add an adjustment offset Tnwhenever required to keep the delay on a desired value on average.

InFIG.3some simulation results for the embodiment shown inFIG.2are shown.

Here, an exemplary course of accumulated delays between the delivered video100and the source video200(on the y-axis) is shown over time (i.e. the handling of twelve replacement time slots10,11).

The simulations were performed with different constant values of the adjustment offset Tn(0, 1, 2, 3 and 4 seconds). The simulated scenario involved a random set of available advertisements (i.e. requested second sequences2,2a) between 25 and 35 seconds. The assigned replacement time slots10,11were 30 seconds long.

It can be seen that in this example a constant adjustment offset of Tn=2 seconds yields an average delay of 0.33 seconds asymptotically, which is better than other adjustment offsets Tntested.

REFERENCE NUMBERS

1first video sequence2,2asecond video sequence (replacement)3third video sequence4fourth video sequence10first replacement time slot in source video11second replacement time slot in source video100source video200delivered video300video controllerT10duration, time slot of first replacement time slotT11duration, time slot for second replacement time slotT2, T2aduration, time slot of second video sequenceTnadaptation offsetTreqduration of a requested video sequenceTreq2second duration of a requested video sequence