The present disclosure is directed to the technical field of presenting advertisements to accompany live broadcast video streaming.
Contextual advertising is a form of targeted advertising suited for advertisements appearing on websites or other media, such as content displayed on browsers or mobile browsers. The advertisements may be selected and served through automated means or systems based on content displayed to a user. A contextual advertising system may, for example, scan the text of a website for keywords and return advertisements based on the keywords. Contextual advertising may also be used by search engines to display advertisements on search pages.
The present disclosure is directed to a method of using side channel streams for the purpose of injecting contextual advertisements into live broadcast video streams. The present disclosure provides a description of how side channel streams can be used to inject contextual advertisements in a manner that minimizes peak bandwidth consumption and latency delays in switching between the live broadcast steam and advertisement units.
Additional advantages and novel features will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and the accompanying drawings or may be learned by production or operation of the disclosed embodiments. The advantages of the present embodiments may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities and combinations set forth in the detailed description set forth below.
A video stream is defined herein as a continuous flow of digitally encoded audio and video data from one digital device to another. Video streaming is furthermore defined herein as the act of creating and maintaining a video stream. Examples include video streaming from a network-connected server to a digital television, digital video recorder, personal computer or mobile computing device or video streaming from a content provider to a network-connected server. A display includes any device for presentation of digital content, including, for example, a video monitor, a audio speaker, a projection screen, a television, a computer monitor, a movie screen, a headset, an ear bud, headphones, and any other device that presents sounds that can be heard or sensed and/or images that can be seen.
A live broadcast video stream is a video stream of a live event or performance. Live broadcast video streaming refers to the act of creating and maintaining a live broadcast video stream. The purpose of live broadcast video streaming is to present video in a form that appears to the end user the same as a traditional live radio or live television broadcast.
An video advertisement is a form of content that presents information to a viewer regarding a product or a service of the provider of the service or product. A mid-roll video advertisement is a video advertisement that is presented to the viewer, not before or after a video stream, but during a video stream, for example, during a break in content of a video stream. While common in commercial television broadcasts, there are numerous technical challenges to presenting mid-roll video advertisements in live broadcast video streams. Ad triggering is the process of requesting a mid-roll advertisement for a live broadcast video stream. An ad trigger is a command or signal that requests, causes or results in the initiation of a mid-roll video advertisement. Advertisement injection (ad injection) is the multistep process of responding to an ad trigger and presenting a mid-roll video advertisement. Because of the nature of live broadcast video streaming, ad injection is optimally implemented as a real time process.
A Mobile computing device is defined herein as a battery powered portable computer, smartphone, PDA, or digital media player/viewer, with a screen as the primary visual output device. Examples include portable music and multimedia devices like Apple's iPod Touch, touch screen mobile computing device or tablets like Apple's iPad, and Samsung Galaxy, and smart phone devices like Apple's iPhone, Motorola and HTC Droid phones, the Blackberry Curve, and Samsung's Galaxy line phones, notebook, laptop and netbook computers. Mobile computing devices are often capable of facilitating network connections to both WiFi and cellular networks and have very low computing power requirements when compared to personal computers.
A content provider 102 is defined herein as a system by which a video stream of an event or performance is created and/or provided to a streaming server system. For a given live broadcast video stream, the relationship between content provider 102 and a streaming server system 100 is typically one to one. However, other configurations and relationships between content provider 102 and streaming server system 100, such as, for example, one to many, many to many and many to one, may be implemented.
The ad server system 104 is a system that provides, on demand, ad units to a requesting device. An ad unit comprises metadata and creative content and is a reference to the audio, video, image and/or script files that can be used to present an advertisement in a client media player 103. The ad unit metadata includes, for example, the standard information provided in the advertising industry, and/or can include specific information for controlling and managing the display of advertisements. For a given ad unit, the relationship between ad server system 104 and requesting devices is typically many to many. A client media player 103 is defined herein as a digital device or software application on a digital device, or a combination of both, that can receive a video stream from a streaming server system 100 and decode it for user presentation, such that a user can experience it as audio and/or video. For a given live broadcast video stream, the relationship is usually one streaming server system 100 to many client media players 103. However, other configurations and relationships between streaming server systems 100 and client media players 103, such as, for example, many to many, may be implemented.
There are a number of approaches to Live Broadcast Video Streaming. One embodiment is described herein as a process, and is illustrated in
Because a Live Broadcast Video Stream is a continuous flow of data from a live event, it presents several unique problems not found when Streaming a pre-recorded Video Stream to a Client Media Player 103. As with pre-recorded Video Streams, content providers very often wish to provide the highest quality viewing experience while generating revenue from advertisers. One approach to this is by injecting Mid-Roll Video Advertisements and/or Banner Advertisements at carefully chosen break points in the Video Stream. There are many approaches to determining when to inject such advertisements in Pre-recorded Video Streams but, for Live Broadcast Streaming, the primary approach is for Content Provider 102 to trigger the injection of Ad Units in reaction to the details of the event being broadcast. For example, a Content Provider 102 will trigger the injection of Ad Units in response to a time out during a sporting event or between acts of a play.
Assuming the above description of a Live Broadcast Video Stream process,
Alternatively,
A major advantage of Approach B compared to Approach A is the ability to select injected Ad Units 304 based on Consumer Context and Device Context. Consumer Context refers to information the Live Broadcast Video Stream Consumer chooses to share with the Ad Server System 300 with respect to preferences, location, relationships to others, etc. Device Context refers to information about the Client Media Player such as screen size, processing capabilities, scripting abilities, and other capabilities and functionality of the Client Media Player, that can be shared with the Ad Server System. In Approach A, because the Streaming Server System 100 controls Ad Injection 303 and because of the one Streaming Server System to many Client Media Players relationship, Ad Units cannot be customized beyond the Broadcast and Streaming Server Context. However in Approach B, because the Client Media Player 103 controls Ad Injection 403 and because of the many to many relationship between Client Media Players 103 and Ad Server Systems 300, the Client Media Player 103 is capable of communicating Consumer and Device Context, in addition to the Broadcast and Server Contexts, to a number of Ad Server Systems 300 and therefore enable the choice of the best Ad Units 304 for the Video Consumer.
However, there are also performance implications to using Approach B. First, the Ad Trigger Meta Data 301 is received in real time with the Live Broadcast Video Stream 101. This means the Ad Trigger Meta Data 301 is not received until close to the moment when Ad Injection 403 is to commence. Because the request 302 to the Ad Server System 300 for the Ad Units 304 to be injected is initiated at nearly the same time as the Ad Trigger Meta Data 405 start point is received, any network latency and processing by the Client Media Player 103 is likely to result in a delay in the start of acquisition and rendering of Ad Units. Also, on certain cellular networks, bandwidth and port limitations dictate that a Live Broadcast Video Stream 404 must be closed in order to acquire the Ad Units 304. If this is the case, after the Ad Units have been rendered, re-initializing the Live Broadcast Video Stream can create another delay caused by network latency. As last mile internet service provider bandwidth and personal computer speed have improved, latency and bandwidth issues have been mitigated to the point at which it is practical for Live Broadcast Video Streaming to be used with On-line video players using personal computers. However, for the foreseeable future, this is not the case for Mobile Computing Devices connected to cellular and, for some situations, Wi-Fi networks. Additionally, the more embedded the Ad Trigger is into the Stream, the more likely the Client Media Player 103 will be unique to the Streaming Server System 100 and thus less likely to be well optimized for the hardware by the Client Device manufacturer. Pragmatically, embedding the Ad Trigger Meta Data into the Live Broadcast Video Stream presents the risk of performance issues for the Client Media Player and risk of high development and maintenance expense for the provider of the Client Media Player software.
Referring now to the embodiments of the present disclosure in more detail,
The process of initiating a Live Broadcast Video Stream is illustrated in
In an embodiment, an optional Broadcast Context (not shown in the figures) may be introduced. During initialization of the Video Stream, the Client Media Player 103 can request from the Broadcast Context Server System any contextual data for the Live Broadcast Video Stream that should be used in the selection of Ad Units from the Ad Server System 300 or the Ad Cache 600. This and other contextual data can further refine the selection of Ad Units. The Broadcast Context contextual data can also give the Client Media Player 103 an estimate of how many Ad Units and of what duration are anticipated for the Live Broadcast Video Stream.
In an embodiment, the Client Media Player 103 may have an Ad Cache 600, which represents a storage dedicated to the storage of Ad Units 304. During Video Stream Initialization, as illustrated in
There are multiple advantages to this approach. Because Ad Injection is controlled by the Client Media Player 103, Ad Units can be chosen based on a larger set of contexts, such as, for example, Consumer Context, Device Context, and Broadcast Context. Also, because the Client Media Player 103 can be used as a subsystem in a more general application, there could be additional context information specific to the more general application that can also be used in Ad Unit selection. Because Ad Units are not requested from the Ad Server System at the time in which they are to be presented, they can be preemptively acquired from the Ad Server System on a side channel thereby using significantly less peak bandwidth than necessary for real time presentation. Preemptive acquisition includes acquiring Ad Units after completing the presentation of one Live Broadcast Video Stream for the purpose of using those acquired Ad Units for a future Live Broadcast Video Stream. Preemptively acquiring Ad Units enables the Ad Units to be presented without concern for delays from latency. Additionally, because Ad Trigger Meta Data is communicated by way of a side channel, a well-maintained and highly optimized media player codec provided by the device manufacturer or operating system vendor can be used instead of a proprietary media player codec or an in-stream filter.
To the extent that new Ad Units cannot be acquired in time for presentation before, during or after a Live Broadcast Video Stream, the system may recycle existing Ad Units for representation. Additionally, Ad Units may be preloaded, for example, by downloading, including during off peak hours when bandwidth usage is low or at a minimum or when bandwidth costs are low or at a minimum, or by insertion of storage media.
The above-described embodiments can be implemented on a computer using well-known computer processors, memory units, storage devices, computer software, and other components. A high-level block diagram of such a computer is illustrated in
While the foregoing has described what are considered to be the best mode and/or other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim and all applications, modifications and variations that fall within the true scope of the present teachings.
The present application claims the benefit of U.S. Provisional Application No. 61/761,149 filed 5 Feb. 2013, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61761149 | Feb 2013 | US |