U.S. patent application number 13/619961 was filed with the patent office on 2013-09-26 for selection of advertisements for placement with content.
This patent application is currently assigned to GOOGLE INC.. The applicant listed for this patent is Poorva Arankalle, Reuven Lax, Rajas Moonka, Shamim Samadi. Invention is credited to Poorva Arankalle, Reuven Lax, Rajas Moonka, Shamim Samadi.
Application Number | 20130254802 13/619961 |
Document ID | / |
Family ID | 40161848 |
Filed Date | 2013-09-26 |
United States Patent
Application |
20130254802 |
Kind Code |
A1 |
Lax; Reuven ; et
al. |
September 26, 2013 |
SELECTION OF ADVERTISEMENTS FOR PLACEMENT WITH CONTENT
Abstract
Methods, systems, and apparatus, including computer program
products, for selecting advertisements. A request for sponsored
content for presentation with a content item in a document is
received. One or more candidate sponsored content items are
identified based on one or more criteria. The criteria includes
information related to the content item independent of the
document, and information related to the document. One or more of
the candidate sponsored content items are selected. The selected
sponsored content items are transmitted for presentation with the
content item.
Inventors: |
Lax; Reuven; (Seattle,
WA) ; Arankalle; Poorva; (Redmond, WA) ;
Samadi; Shamim; (Mountain View, CA) ; Moonka;
Rajas; (San Ramon, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Lax; Reuven
Arankalle; Poorva
Samadi; Shamim
Moonka; Rajas |
Seattle
Redmond
Mountain View
San Ramon |
WA
WA
CA
CA |
US
US
US
US |
|
|
Assignee: |
GOOGLE INC.
Mountain View
CA
|
Family ID: |
40161848 |
Appl. No.: |
13/619961 |
Filed: |
September 14, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11850652 |
Sep 5, 2007 |
8433611 |
|
|
13619961 |
|
|
|
|
60946702 |
Jun 27, 2007 |
|
|
|
Current U.S.
Class: |
725/34 |
Current CPC
Class: |
G06Q 30/02 20130101;
H04N 21/435 20130101 |
Class at
Publication: |
725/34 |
International
Class: |
H04N 21/435 20060101
H04N021/435 |
Claims
1. (canceled)
2. A computer-implemented method comprising: receiving a request
for sponsored content for presentation with a content item, wherein
the content item is included in a document; for each of one or more
candidate sponsored content items: calculating a first score based
on, at least, a comparison of the candidate sponsored content item
to one or more keywords for the content item; calculating a second
score based on, at least, a comparison of content one or more
second documents that link to the document to the candidate
sponsored item; calculating a final score based on, at least, a
combination of the respective first and second scores; selecting
one or more of the candidate sponsored content items based on, at
least, the candidate sponsored content item's respective final
score; and providing the selected sponsored content items for
presentation with the content item.
3. The method of claim 2 wherein the content of each of the second
documents comprises anchor text of one or more hyperlinks that
point to the document.
4. The method of claim 2 wherein calculating one of the scores is
further based on a comparison of the candidate sponsored content
item to content of the document.
5. The method of claim 2 wherein the sponsored content items
comprise one or more advertisements.
6. The method of claim 2 wherein the content item comprises a video
file or stream.
7. The method of claim 2 wherein at least one of the keywords for
the content item was selected based on historical user interaction
with the content item when the content item was provided as a
search result responsive to a query comprising the at least one
keyword.
8. The method of claim 2 wherein calculating the final score based
at least partially on a combination of the respective first and
second scores comprises weighting the first and second scores,
wherein the first and second scores are weighted differently, and
wherein a weight of the first or the second score is based at least
partially on a measure of past user interactions with the candidate
sponsored content item when the candidate sponsored content item
was presented with the content item.
9. The method of claim 2 wherein one of the one or more keywords is
determined by analysis of the content item.
10. The method of claim 2 wherein selecting one or more of the
candidate sponsored content items comprises selecting one or more
of the candidate sponsored content items based on respective bids
associated with the candidate sponsored content items.
11. A system comprising: data processing apparatus programmed to
perform operations comprising: receiving a request for sponsored
content for presentation with a content item, wherein the content
item is included in a document; for each of one or more candidate
sponsored content items: calculating a first score based on, at
least, a comparison of the candidate sponsored content item to one
or more keywords for the content item; calculating a second score
based on, at least, a comparison of content one or more second
documents that link to the document to the candidate sponsored
item; calculating a final score based on, at least, a combination
of the respective first and second scores; selecting one or more of
the candidate sponsored content items based on, at least, the
candidate sponsored content item's respective final score; and
providing the selected sponsored content items for presentation
with the content item.
12. The system of claim 11 wherein the content of each of the
second documents comprises anchor text of one or more hyperlinks
that point to the document.
13. The system of claim 11 wherein calculating one of the scores is
further based on a comparison of the candidate sponsored content
item to content of the document.
14. The system of claim 11 wherein the sponsored content items
comprise one or more advertisements.
15. The system of claim 11 wherein the content item comprises a
video file or stream.
16. The system of claim 11 wherein at least one of the keywords for
the content item was selected based on historical user interaction
with the content item when the content item was provided as a
search result responsive to a query comprising the at least one
keyword.
17. The system of claim 11 wherein calculating the final score
based at least partially on a combination of the respective first
and second scores comprises weighting the first and second scores,
wherein the first and second scores are weighted differently, and
wherein a weight of the first or the second score is based at least
partially on a measure of past user interactions with the candidate
sponsored content item when the candidate sponsored content item
was presented with the content item.
18. The system of claim 11 wherein one of the one or more keywords
is determined by analysis of the content item.
19. The system of claim 11 wherein selecting one or more of the
candidate sponsored content items comprises selecting one or more
of the candidate sponsored content items based on respective bids
associated with the candidate sponsored content items.
20. A program product stored on a machine readable storage medium
that, when executed by data processing apparatus, causes the data
processing apparatus to perform operations comprising: receiving a
request for sponsored content for presentation with a content item,
wherein the content item is included in a document; for each of one
or more candidate sponsored content items: calculating a first
score based on, at least, a comparison of the candidate sponsored
content item to one or more keywords for the content item;
calculating a second score based on, at least, a comparison of
content one or more second documents that link to the document to
the candidate sponsored item; calculating a final score based on,
at least, a combination of the respective first and second scores;
selecting one or more of the candidate sponsored content items
based on, at least, the candidate sponsored content item's
respective final score; and providing the selected sponsored
content items for presentation with the content item.
Description
RELATED APPLICATIONS
[0001] This application is a continuation of and claims the benefit
under 35 U.S.C. .sctn.120 of U.S. patent application Ser. No.
11/850,652, titled "Selection Of Advertisements For Placement With
Content," filed Sep. 5, 2007, which was a non-provisional of and
claimed benefit under 35 U.S.C. .sctn.119 of U.S. Patent
Application No. 60/946,702, titled "Selection of Advertisements for
Placement with Content," filed Jun. 27, 2007, which are
incorporated by reference herein in its entirety.
BACKGROUND
[0002] The subject matter of this specification relates generally
to advertising.
[0003] Online video is a growing medium. The popularity of online
video services reflects this growth. Advertisers see online video
as another way to reach their customers. Many advertisers are
interested in maximizing the number of actions (e.g., impressions
and/or click-throughs) for their advertisements. To achieve this,
advertisers make efforts to place advertisements with content that
is relevant to their advertisements. For example, an advertiser can
target its car advertisements to a website about cars.
SUMMARY
[0004] In general, one aspect of the subject matter described in
this specification can be embodied in methods that include the
actions of receiving a request for sponsored content for
presentation with a content item, where the content item is
included in a document; identifying one or more candidate sponsored
content items based on a plurality of criteria, which includes
information related to the content item independent of the document
and information related to the document; selecting one or more of
the candidate sponsored content items; and transmitting the
selected sponsored content items for presentation with the content
item. Other embodiments of this aspect include corresponding
systems, apparatus, and computer program products.
[0005] In general, another aspect of the subject matter described
in this specification can be embodied in methods that include the
actions of receiving a request for sponsored content for
presentation with a content item, where the content item is
included in a presentation environment; identifying one or more
candidate sponsored content items based on a plurality of criteria,
which includes information related to the content item and
information related to the presentation environment; selecting one
or more of the candidate sponsored content items; transmitting the
selected sponsored content items for presentation with the content
item in the presentation environment. Other embodiments of this
aspect include corresponding systems, apparatus, and computer
program products.
[0006] Particular embodiments of the subject matter described in
this specification can be implemented to realize one or more of the
following advantages. Advertisements can be placed for presentation
with third party video content. The placed advertisements are
selected for relevance to video content, content of a page in which
the video is embedded, and other related content. Advertisers can
automatically and dynamically target embedded video content that
may change over time.
[0007] The details of one or more embodiments of the subject matter
described in this specification are set forth in the accompanying
drawings and the description below. Other features, aspects, and
advantages of the subject matter will become apparent from the
description, the drawings, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 is a block diagram illustrating an example network
environment.
[0009] FIG. 2 is a block diagram illustrating an example
advertising delivery system.
[0010] FIGS. 3-4 are examples of a user interface illustrating
advertising content displayed on a screen with video content.
[0011] FIG. 5 is a flow diagram illustrating an example process for
selecting and delivering advertisements.
[0012] FIG. 6 is a block diagram illustrating an example generic
computer and an example generic mobile computer device.
[0013] Like reference numbers and designations in the various
drawings indicate like elements.
DETAILED DESCRIPTION
[0014] FIG. 1 shows an example of a network environment 100. The
environment 100 includes a sponsored content (e.g., advertisement)
provider 102, a content sponsor (e.g., provider) 104, and one or
more user devices 106, at least some of which communicate across
network 108. By way of example, discussion provided herein will
make reference to the delivery of advertisements to a content
provider. Other forms of sponsored content are possible. In some
implementations, the advertisement provider 102 can provide
advertising content (e.g., advertisements or "ads" or "ad" in the
singular) for presentation with content items (e.g., text, images,
video, audio, games, multimedia playlists (such as static, dynamic
or executable lists of multiple content items to be played),
embedded executables or software) provided by the content provider
104. For example, a video can be provided by the content provider
104 through the network 108 to one or more user devices 106. The ad
content can be distributed, through network 108, to one or more
user devices 106 before, during, or after presentation of the
video. In some implementations, advertisement provider 102 is
coupled with one or more advertising repositories (not shown). The
repositories store advertising that can be presented with various
types of content items, including video and audio.
[0015] In some implementations, the environment 100 can be used to
identify relevant advertising content based on the content of the
content item and perhaps other criteria. For example, the
advertisement provider 102 can acquire information about the
subject matter of a video, such as by reading video metadata that
includes keywords that describe the subject matter of the video,
and/or analyzing speech in the video, and/or analyzing the visual
content of the video, for example. The information can be used to
identify relevant advertisements, from which one or more are
selected for presentation with the video.
[0016] In some implementations, content items can include various
forms of electronic media. For example, a content item can include
text, audio, video, advertisements, configuration parameters,
documents, video files published on the Internet, television
programs, audio podcasts, video podcasts, live or recorded talk
shows, video voicemail, segments of a video conversation, and other
distributable resources.
[0017] In some implementations, a "video content item" is an item
of content that includes content that can be perceived visually
when played, rendered, or decoded. A video includes video data, and
optionally audio data, executable code, hyperlinks, and metadata.
Video data includes content in the video that can be perceived
visually when the video content item is played, rendered, or
decoded. Audio data includes content in the video that can be
perceived aurally when the video content item is played, decoded,
or rendered. Executable code includes, for example, interactive
ADOBE FLASH, JavaScript, or other forms of interactive content.
Hyperlinks include, for example, links embedded in or associated
with the video or executable code that provide an address link,
such as a Uniform Resource Locator (URL), to other content or
executable code. A video can include video data and any
accompanying audio data regardless of whether or not the video is
ultimately stored on a tangible medium. A video can include, for
example, a live or recorded television program, a live or recorded
theatrical or dramatic work, a music video, a televised event
(e.g., a sports event, a political event, a news event, etc.),
video voicemail, etc. Video, audio or other content items can also
be part of a media playlist.
[0018] A video content item can also include many types of
associated data or metadata. Metadata includes, for example, tags,
labels, keywords, time stamps, XML-enclosed data, or other
non-displayed information about the content. Examples of types of
associated data include video data, audio data, closed-caption or
subtitle data, a transcript, content descriptions (e.g., title,
actor list, genre information, first performance or release date,
etc.), related still images, user-supplied or provider-provided
tags and ratings, etc. Some of this data, such as the description,
can refer to the entire video content item, while other data (e.g.,
the closed-caption data) may be temporally-based or timecoded. In
some implementations, the temporally-based data may be used to
detect scene or content changes to determine relevant portions of
that data for targeting ad content to users. The executable code
and/or metadata may include interactive playlists of media content,
such as lists of video, audio, web links, or other content
types.
[0019] In some implementations, a video content item has one or
more interstitial advertisement slots. One or more video
advertisements can be presented in between the portions of the
video separated by an advertisement slot, similar to television
advertising commercials that are presented between portions of a
television program. The positions of the advertisement slots can be
specified by metadata associated with the video and stored at the
video provider 209. The positions of the slots can be manually
specified by the author of the video or automatically determined
based on an analysis of the video. An example technique for
analyzing a video to determine positions of advertisement slots is
disclosed in U.S. patent application Ser. No. 11/737,038, titled
"Characterizing Content for Identification of Advertising," filed
Apr. 18, 2007, which is incorporated by reference in its entirety
herein. Further details related to advertisement slots are
disclosed in U.S. patent application Ser. No. 11/550,388, titled
"Using Viewing Signals in Targeted Video Advertising," filed Oct.
17, 2006, which is incorporated by reference in its entirety
herein.
[0020] In some implementations, an "audio content item" is an item
of content that can be perceived aurally when played, rendered, or
decoded. An audio content item includes audio data and optionally
metadata. The audio data includes content in the audio content item
that can be perceived aurally when the video content item is
played, decoded, or rendered. An audio content item may include
audio data regardless of whether or not the audio content item is
ultimately stored on a tangible medium. An audio content item may
include, for example, a live or recorded radio program, a live or
recorded theatrical or dramatic work, a musical performance, a
sound recording, a televised event (e.g., a sports event, a
political event, a news event, etc.), voicemail, etc. Each of
different forms or formats of the audio data (e.g., original,
compressed, packetized, streamed, etc.) may be considered to be an
audio content item (e.g., the same audio content item, or different
audio content items).
[0021] Advertising content can include text, graphics, video,
audio, banners, links, executable code and scripts, and other web
or television programming related data. As such, ad content can be
formatted differently, based on whether it is primarily directed to
websites, media players, email, television programs, closed
captioning, etc. For example, ad content directed to a website may
be formatted for display in a frame within a web browser. As
another example, ad content directed to a video player may be
presented "in-stream" as a video content item is played in the
video player. In some implementations, in-stream ad content may
replace the video content item in a video player for some period of
time or inserted between portions of the video content item. An
in-stream ad can be pre-roll (before the video content item),
post-roll (after the video content item), or interstitial. An
in-stream ad may include video, audio, text, animated images, still
images, or some combination thereof. The advertisement can appear
in the same form as video content, as an overlay over video
content, or in other forms. Examples of forms of advertisements for
video that can be used with the implementations described in this
specification are disclosed in U.S. Provisional Application No.
60/915,654, entitled "User Interfaces For Web-Based Video Player,"
filed May 2, 2007; and U.S. patent application Ser. No. 11/760,709,
entitled "Systems and Processes for Presenting Informational
Content," filed Jun. 8, 2007, which are incorporated by reference
in their entirety herein.
[0022] The content provider 104 can present content to a user
device 106 through the network 108. In some implementations, the
content providers 104 are web servers where the content includes
webpages or other content written in the Hypertext Markup Language
(HTML), or any language suitable for authoring webpages. In
general, content provider 104 can include users, web publishers,
and other entities capable of distributing content over a network.
In some implementations, the content provider 104 may make the
content accessible through a known URL.
[0023] The content provider 104 can receive requests for content
(e.g., articles, discussion threads, music, audio, video, graphics,
search results, webpage listings, etc.). The content provider 104
can retrieve the requested content in response to the request or
service the request in some other way. The advertisement provider
102 can broadcast content as well (e.g., not necessarily responsive
to a request).
[0024] Content provided by content provider 104 can include news,
weather, entertainment, or other consumable textual, audio, video,
game, or multimedia content. More particularly, the content can
include various resources, such as documents (e.g., webpages, plain
text documents, dynamic network applications provided to the user
on-the-fly, Portable Document Format (PDF) documents, images),
video or audio clips, etc. In some implementations, the content can
be graphic-intensive, media-rich data, such as, for example,
FLASH-based content that presents video and audio, Asynchronous
JavaScript and XML (AJAX) based web applications or web pages, and
the like.
[0025] The content provider 104 can provide video content items for
presentation to a user. The content provider 104 can provide a
video content item as a stream or as a downloadable file to a user
device 106. The content provider 104 can also provide a video
player module with a video. In some implementations, a content item
(e.g., a video content item, an audio content item) and a player
module from the content provider 104 is embedded into a document
(e.g., a webpage provided by content provider 104). The document
includes the player module and a reference to the video or audio
content item. The document can be sent to a user device 106. At the
user device 106, the embedded player module can retrieve the
referenced video or audio content item for playback at the user
device 106. The player can provide a one or more pieces of content,
such as via a playlist.
[0026] In some implementations, a document and a content item
embedded in the documents are provided by different content
providers. In an example implementation, a video from a first
content provider is embedded in a document (e.g., a webpage) from a
second content provider. The document includes a location (e.g., a
URL) of the video at the first content provider. When the document
is rendered at the user device 106, the video can be obtained from
the second content provider and played back at the user device
106.
[0027] The environment 100 includes one or more user devices 106.
The user device 106 can include a desktop computer, laptop
computer, a media player (e.g., an MP3 player, a streaming audio
player, a streaming video player, a television, a computer, a
mobile device, etc.), a mobile phone, a browser facility (e.g., a
web browser application), an e-mail facility, telephony means, a
set top box, a television device or other electronic device that
can access advertisements and other content via network 108. The
content provider 104 may allow user device 106 to access content
(e.g., webpages, videos, etc.).
[0028] The network 108 facilitates wireless or wireline
communication between the advertisement provider 102, the content
provider 104, and any other local or remote computers (e.g., user
device 106). The network 108 may be all or a portion of an
enterprise or secured network. In another example, the network 108
may be a virtual private network (VPN) between the content provider
104 and the user device 106 across a wireline or a wireless link.
While illustrated as a single or continuous network, the network
108 may be logically divided into various sub-nets or virtual
networks without departing from the scope of this disclosure, so
long as at least a portion of the network 108 may facilitate
communications between the advertisement provider 102, content
provider 104, and at least one client (e.g., user device 106). In
certain implementations, the network 108 may be a secure network
associated with the enterprise and certain local or remote clients
106.
[0029] Examples of network 108 include a local area network (LAN),
a wide area network (WAN), a wireless phone network, a Wi-Fi
network, and the Internet.
[0030] In some implementations, the content provider 104 may
transmit information about how, when, and/or where the ads are to
be rendered, and/or information about the results of that rendering
(e.g., ad spot, specified segment, position, selection or not,
impression time, impression date, size, temporal length, volume,
conversion or not, etc.) back to the advertisement provider 102
through the network 108. Alternatively, or in addition, such
information may be provided back to the advertisement provider 102
by some other means.
[0031] FIG. 2 is a block diagram illustrating an example
advertising delivery system 200. System 200 includes, or is
communicatively coupled with, advertisement provider 201, content
provider 203, and user device 205, at least some of which
communicate across network 207. In some implementations, the
advertisement delivery system 200 is an example implementation of
the network environment 100, where advertisement provider 201 is an
implementation of advertisement provider 102, content provider 203
is an implementation of content provider 104, user device 205 is an
implementation of user device 106, and network 207 is an
implementation of network 108.
[0032] In some implementations, the advertisement provider 201
includes a content analyzer 202, an ad selection module 204, an ad
server 206, and a surrounding content module 208. The content
analyzer 202 can analyze received content items (e.g., videos) to
determine one or more targeting criteria for content items. For
example, the content analyzer 202 may implement various analysis
methods, including, but not limited to weighting schemes, speech
processing, image or object recognition, and statistical
methods.
[0033] Analysis methods can be applied to the contextual elements
of the received content item (e.g., a video, an audio clip) to
determine relevant targeting criteria. For example, the received
content can undergo one or more of audio volume normalization,
automatic speech recognition, transcoding, indexing, image
recognition, etc. In some implementations, the content analyzer 202
includes a speech to text module 210 and an image recognition
module 212. Other modules are possible.
[0034] The speech to text module 210 can analyze a video to
identify speech in a video or audio file or stream. For example, a
video content item may be received in the system 200. The
speech-to-text module 210 can analyze the video content item as a
whole. Textual information may be derived from the speech included
in the audio data of the video or audio content item by performing
speech recognition on the audio content, producing in some
implementations hypothesized words annotated with confidence
scores, or in other implementations a lattice which contains many
hypotheses. Examples of speech recognition techniques include
techniques based on hidden Markov models, dynamic programming, or
neural networks.
[0035] In some implementations, the speech analysis may include
identifying phonemes, converting the phonemes to text, interpreting
the phonemes as words or word combinations, and providing a
representation of the words, and/or word combinations, which best
corresponds with the received input speech (e.g., speech in the
audio data of a video content item). The text can be further
processed to determine the subject matter of the video or audio
content item. For example, keyword spotting (e.g., word or
utterance recognition), pattern recognition (e.g., defining noise
ratios, sound lengths, etc.), or structural pattern recognition
(e.g., syntactic patterns, grammar, graphical patterns, etc.) may
be used to determine the subject matter, including different
segments, of the video content item. In some implementations,
further processing may be carried out on the video or audio content
item to refine the identification of subject matter in the video or
audio content item.
[0036] A video or audio content item can also include timecoded
metadata. Examples of timecoded metadata include closed-captions,
subtitles, or transcript data that includes a textual
representation of the speech or dialogue in the video or audio
content item. In some implementations, a caption data module (not
shown) at the advertisement provider 201 extracts the textual
representation from the closed-caption, subtitle, or transcript
data of the content item and used the extracted text to identify
subject matter in the video or audio content item. The extracted
text can be a supplement to or a substitute for a speech
recognition analysis on the video or audio content item.
[0037] Further processing of received content can also include
image or object recognition. For example, automatic object
recognition can be applied to received or acquired video data of a
video content item to determine targeting criteria for one or more
objects associated with the video content item. For example, the
image recognition module 212 may automatically extract still frames
from a video content item for analysis. The analysis may identify
targeting criteria relevant to objects identified by the analysis.
The analysis may also identify changes between sequential frames of
the video content item that may be indicia of different scenes
(e.g., fading to black). Examples of object recognition techniques
include appearance-based object recognition, and object recognition
based on local features. An example of object recognition is
disclosed in U.S. patent application Ser. No. 11/608,219, entitled
"Image Based Contextual Advertisement Method and Branded Barcodes,"
filed Dec. 7, 2006, which is incorporated by reference in its
entirety herein.
[0038] The surrounding content module 208 reads content that is in
proximity to (e.g., surrounds) an embedded content item. In
implementations where a video or audio content item is embedded in
a document, the surrounding content module 208 reads the content
that surrounds the embedded content item, i.e. the content of the
document other than the video itself. The surrounding content can
be matched against advertisements to identify advertisements that
have some subject matter relevance to the document, for
example.
[0039] Advertisement provider 201 includes an ad selection module
204. In some implementations, the ad selection module 204
identifies, for a presentation of a content item, candidate
advertisements and selects one or more of these candidate
advertisements for presentation with the content item. The ad
selection module 204 can identify the candidate advertisements
based on multiple criteria, including advertiser preferences,
content provider preferences, the content of the video, and content
surrounding or in proximity to the video. From these candidate
advertisements, one or more are selected for presentation with the
video. In some implementations, advertisements are selected for
presentation, in accordance with an auction. Further details on the
identification of candidate advertisements and selection of
advertisements are described below in reference to FIG. 5.
[0040] Advertisement provider 201 includes an ad server 206. Ad
server 206 may directly, or indirectly, enter, maintain, and track
ad information. The ads may be in the form of graphical ads such as
so-called banner ads, text only ads, image ads, audio ads, video
ads, ads combining one of more of any of such components, etc. The
ads may also include embedded information, such as a link, and/or
machine executable instructions. In some implementations, metadata
can be associated with an advertisement. In some implementations,
the metadata can include one or more keywords indicating topics or
concepts to which the advertisement is relevant or other
information that indicates the subject matter of the advertisement.
In some implementations, the advertiser specifies one or more
keywords that express the subject matter of the advertisement or
one or more categories or verticals to which the advertisement is
targeted.
[0041] Ad server 206 can receive requests for advertisements from a
user device 205. In response to these requests, the ad server 206
can transmit selected advertisements to the user device 205.
Further, the ad server 206 can receive usage information (e.g.,
advertisement click-through information) from the user device 205.
Although not shown, other entities may provide usage information
(e.g., whether or not a conversion or selection related to the ad
occurred) to the ad server 206. For example, this usage information
may include measured or observed user behavior related to ads that
have been served. In some implementations, usage information can be
measured in a privacy-preserving manner such that individually user
identifiable information is filtered by the ad server, by the user
device, or through an intermediary device.
[0042] The ad server 206 may include information concerning
accounts, campaigns, creatives, targeting, advertiser preferences
for ad placement, etc. The term "account" relates to information
for a given advertiser (e.g., a unique email address, a password,
billing information, etc.). A "campaign," "advertising campaign,"
or "ad campaign" refers to one or more groups of one or more
advertisements, and may include a start date, an end date, budget
information, targeting information, syndication information,
etc.
[0043] The advertisement provider 201 can use one or more
advertisement repositories 214 for selecting ads for presentation
to a user. The repositories 214 may include any memory or database
module and may take the form of volatile or non-volatile memory
including, without limitation, magnetic media, optical media,
random access memory (RAM), read-only memory (ROM), removable
media, or any other suitable local or remote memory component.
[0044] The content provider 203 includes a content server 215. The
content server 215 can serve various types of content, including
documents, video content items, and audio content items, for
example. In some implementations, the content server 215 can serve
documents that have other content (e.g., video or audio content
items from the content provider 203 or another content provider)
embedded within. The content that can be served by the content
server 215 is stored in a content repository. In some
implementations, different types of content can be stored in
separate repositories. For example, documents can be stored in a
document repository 217, and video content items and metadata
associated with the video content items can be stored in a video
content repository 218. In an exemplary implementation, video
metadata is written using the Extensible Markup Language (XML).
[0045] In some implementations, the content server 215 serves video
content items, such as video streams or video files, for example.
Video player applications may be used to render video streams or
files. Ads may be served by the ad server 206 in association with
video content items. For example, one or more ads may be served
before, during, or after a music video, program, program segment,
etc. Alternatively, one or more ads may be served in association
with a music video, program, program segment, etc. The videos that
can be served by the content server 215 are stored in a videos and
video metadata repository 218. In some implementations, the content
provider 203 also provides access to documents (e.g., a webpage)
that include information (e.g., subject matter and categories of
the videos) about the videos in the video repository 218.
[0046] While FIG. 2 is illustrated as having one content provider
providing both documents and content items (e.g., video content
items), in some implementations, separate content providers, with
different content servers, provide documents and content items,
respectively. For example, a first content provider can provide
document retrieved from a document repository, where the documents
include references to content items (e.g., video or audio content
items) stored in a content item repository and served by a second
content server.
[0047] In operation, the advertisement provider 201 and the content
provider 203 can provide content to a user device 205. The user
device 205 is an example of an ad consumer. The user device 205 may
include a user device such as a media player (e.g., an MP3 player,
a streaming audio player, a streaming video player, a television, a
computer, a mobile device, etc.), a browser facility, an e-mail
facility, telephony means, etc.
[0048] The user device 205 includes an application 220 for
rendering and presenting content and advertisements. In some
implementations, the application is a web browser that can render
and display documents (e.g., webpages) and other content. In an
exemplary implementation, one or more plug-ins can be associated
with the application. The plug-ins can facilitate rendering and
presentation of content (e.g., video or audio content items) or
advertisements by the application 220.
[0049] The user device 205 includes a content player module 222 and
an advertising module 224. The content player module 222 can play
back content items, such as video or audio content items, for
example. In some implementations, the content player module 222 is
embedded in a document (e.g., a webpage), and received by the user
device 205 when the document is received by the user device 205.
When the document is rendered by the application 220, the content
player module 222 is executed by the application 220 or a plug-in
to the application 220.
[0050] The advertising module 224 sends requests for advertisements
to the advertising provider 201 and receives advertisements
responsive to the requests from the advertising provider 201. The
advertising module 224 can provide the advertisements to the
application 220 or the content player module 222 for presentation
to the user. In some implementations, the advertising module 224 is
a sub-module of the content player module 222.
[0051] FIG. 3 is an example user interface 300 illustrating video
content displayed on a screen with surrounding content. The user
interface 300 illustrates an example web browser user interface.
However, the content shown in the user interface 300 can be
presented in a webpage, an MP3 player, a streaming audio player, a
streaming video player, a television, a computer, a mobile device,
etc. The content shown in the user interface 300 may be provided by
advertisement provider 201, content provider 203, another networked
device, or some combination of those providers.
[0052] As shown, the user interface 300 includes a content player
region 302 and one or more "surrounding content" regions 304A,
304B, and 304C. The content player region 302 may include a media
player for presenting text, images, video, or audio, or any
combination thereof. An example of what can be shown in the content
player region 302 is described in further detail below in relation
to FIG. 4.
[0053] The surrounding content regions 304A, 304B, and 304C can
display text, graphics, links, third party add-ins (e.g., search
controls, download buttons, etc.), video and audio clips (e.g.,
graphics), help instructions (e.g., text, html, pop-up controls,
etc.), and advertisements (e.g., banner ads, flash-based
video/audio ads, scrolling ads, etc.). In some implementations, the
surrounding content regions 304A, 304B, and 304C are portions of a
webpage in which the content player is embedded.
[0054] The surrounding content may be related to the content
displayed in the content player region 302. For example,
advertisements related to the content in the content player region
302 can be displayed in any of the surrounding content regions
304A, 304B, 304C. As another example, the content in the content
player region 302 is chosen for display with the surrounding
content because they are related in subject matter (e.g., a video
and a video player embedded with a posting in a blog). In some
other implementations, the surrounding content is not related to
the content in the content player region 302.
[0055] The surrounding content regions 304A, 304B, and 304C may be
in proximity to the content player region 302 during the
presentation of video content in the region 302. For example, the
surrounding content regions 304A, 304B, and 304C can be adjacent to
the content player region 302, either above, below, or to the side
of the content player region 302. For example, the user interface
300 may include an add-on, such as a stock ticker with text
advertisements. The stock ticker can be presented in one of the
surrounding content regions 304A, 304B, or 304C.
[0056] FIG. 4 illustrates an example user interface that can be
displayed in a video player, such as in content player region 302.
Content items, such as video, audio, and so forth can be displayed
in the content player region 302. The region 302 includes a content
display portion 402 for displaying a content item, a portion 404
for displaying information (e.g., title, running time, etc.) about
the content item, player controls 405 (e.g., volume adjustment,
full-screen mode, play/pause button, progress bar and slider,
option menu, etc.), an advertisement display portion 408, and a
multi-purpose portion 406 that can be used to display various
content (e.g., advertisements, closed-captions/subtitles/transcript
of the content item, related links, etc.).
[0057] As shown, the content shown represents a video (or audio)
interview occurring between a person located in New York City, New
York and a person located in Los Angeles, Calif. The interview is
displayed in the content display portion 402 of the region 302.
[0058] The region 302 may be presented as a stream, upon visiting a
particular site presenting the interview, or after the execution of
a downloaded file containing the interview or a link to the
interview. As such, the region 302 may display additional content
(e.g., advertisement content) that relates to the content shown in
the video interview. For example, the additional content may change
according to what is displayed in the region 302. The additional
content can be substantially available as content from the content
provider 203 and/or the advertisement provider 201.
[0059] An on-screen advertisement is displayed in the multi-purpose
portion 406. An additional on-screen advertisement is displayed in
the advertisement display portion 408. In some implementations,
on-screen advertisements may include text-and-audio, video, text,
animated images, still images, or some combination thereof.
[0060] In some implementations, the content display portion 402 can
display advertisements targeted to audio-only content, such as ads
capable of being displayed in-stream with a podcast or web
monitored radio broadcasts. For example, the advertisement provider
201 may provide interstitial advertisements, sound bytes, or news
information in the audio stream of music or disc jockey
conversations.
[0061] Advertisements may be presented on the content display
portion 402. Temporal placement of advertisements relative to a
video content item may vary. For example, an advertisement
presentation may be pre-roll, mid-roll or post-roll placement.
[0062] In some implementations, the progress bar in the player
controls 405 also shows the positions of the advertisement slots in
the content item being played.
[0063] The multi-purpose portion 406 may also include a skip
advertisement link or control 410. When the skip advertisement link
410 is selected by the user, the currently displayed video
advertisement is skipped and playback continues from the first
frame of the video after the skipped video advertisement (or,
playback stops if the skipped video advertisement is a post-roll
advertisement). In some implementations, the skip advertisement
link or control 410 is a link. In some other implementations, the
skip advertisement link or control 410 may be a button, selectable
icon, or some other user-selectable user interface object.
[0064] In some implementations, the ability of a user to skip
advertisements, for example, by using the skip advertisement link
or control 410, may effect the selection of an advertisement to be
presented by the advertisement provider 201. For example, a large
number of skips for an advertisement may indicate that the
advertisement is ineffective or unpopular, and thus can be made
less likely to be selected for presentation (e.g., by decreasing
its bid in a placement auction or being counted as a negative
weighting factor in auctions or towards advertising impressions).
Inversely, advertisements that are infrequently skipped may have a
positive weighting factor and or have a positive impact toward
advertising impressions.
[0065] FIG. 5 illustrates an example process 500 for selecting and
delivering advertisements for presentation with a content item. For
convenience, the process 500 will be described in reference to a
system (e.g., system 200) that performs the process. For ease of
explanation, process 500 will be described with reference to a
video content item (e.g., a video stream or file), but it should be
appreciated that process 500 is also applicable to other content
items, such as audio content items, as well.
[0066] A request for one or more advertisements is received (502).
In some implementations, a user device 205 can receive a document
from a content provider 203. In some implementations, the document
can include an embedded video content item (hereinafter referred to
as the "video"), an embedded content player (e.g., content player
module 222), and an advertising module (e.g., advertising module
224). The advertising module 224 sends a request for advertisements
to the advertisement provider 201. The request can be for one or
more advertisements for presentation with the video. In some
implementations, the request can specify the type (e.g., computer,
mobile phone, etc.) of the user device 205 that sent the request.
For example, the request can specify that the user device is a
desktop or notebook computer or a mobile phone.
[0067] The request can include metadata associated with the video.
The metadata can specify preferences on what and how advertisements
are presented with the video. The preferences can be set by the
author of the video, the author of the document in which the video
is embedded, or content provider 203 (hereinafter referred to
collectively as "content provider preferences").
[0068] In some implementations, the content provider preferences
specify the available positions in which video advertisements can
be presented. For example, the metadata can specify that the video
has two interstitial positions, a pre-roll position, and a
post-roll position for advertisements, and that advertisements may
be placed in any of these positions. As another example, the
content provider preferences can specify that advertisements may be
presented with the video only as post-roll advertisements, only as
pre-roll advertisements before the video, only as interstitial
advertisements between portions of the video, or some combination
thereof (e.g., no interstitial advertisements=pre-roll or post-roll
advertisements only).
[0069] The metadata can also include data that provides an
indication of the content (e.g., the subject matter) of the video.
For example, the metadata can include one or more keywords that
specify topics or concepts to which the video is relevant. The
metadata can include one or more categories or verticals
(hereinafter referred as "channels") into which the video can be
classified. The metadata can also include information referencing
one or more playlists or playlist categories on which the content
is placed or linked. The topical data or the channel data can be
used by the advertisement provider 201 to identify advertisements
that are relevant to the video. In some other implementations, the
topical or channel information of the video can be determined by
analyzing the video.
[0070] In some implementations, the metadata can specify other
types of content provider preferences as well. For example, the
metadata can specify whether video advertisements displayed with
the video can be skipped or not. As another example, the metadata
can also specify one or more target demographics for the video. As
a further example, the metadata can specify the time lengths of
advertisement placement positions, the maximum allowable
advertisement duration, and/or which types of advertisements (e.g.,
text ads, overlay ads, banner ads, pop-up ads, video ads, etc.) are
allowed. In some implementations, the preferences in the metadata
include blacklisted keywords or advertisers. An advertisement
associated with a blacklisted keyword or advertiser is
automatically disqualified from consideration for placement with
the video. In some implementations, an advertiser in the blacklist
is specified by a name and/or a URL associated with the
advertiser.
[0071] One or more candidate advertisements are identified (504).
In some implementations, one or more advertisements from the
advertisements repository 214 are identified by the ad selection
module 204 to be candidates in an auction for placement with the
video. In some implementations, the candidate advertisements are
identified based on multiple criteria.
[0072] In some implementations, a criterion for identification of
candidate advertisements is advertiser preferences. For an
advertisement, an advertiser can set preferences related to the
presentation and targeting of the advertisement. The preferences
can include preferences related to presentation position (e.g.,
pre-roll, post-roll, interstitial), capability of being skipped by
the user, target demographics, type of device, and so forth. In
some implementations, the advertiser preferences are matched
against the content provider preferences.
[0073] For example, the advertiser can specify a preference as to
whether a video advertisement can be presented pre-roll, post-roll,
or in an interstitial slot. The advertiser can specify a preference
as to whether a user viewing a video advertisement can be given the
capability to skip it. The advertiser can specify a preference as
to the target demographics to which the advertisement may be shown.
The advertiser can specify that the advertisement is best viewed on
a desktop/notebook computer or a mobile phone. Other types of
preferences are possible.
[0074] In some implementations, other characteristics of the
advertisement can be matched against the content provider
preferences. For example, the content provider preferences may
include a maximum allowable time length per video ad. A video ad
may be disqualified if its length is longer than the maximum time
length. As another example, the content provider preferences may
include restrictions on which types of ads are allowed. If the ad
does not belong to one of the allowed types, the ad can be
disqualified.
[0075] In some implementations, an advertiser preference can be an
absolute preference or a relative preference. If a preference is an
absolute preference and it is not satisfied by the video, then the
advertisement is disqualified from the auction, regardless of
satisfaction of other preferences and relevance of the
advertisement to the video or the document. If the preference is a
relative preference and it is not completely satisfied, then the
advertisement may still be eligible for the auction, subject to
other criteria, but the incomplete satisfaction of the preference
can be used to modify a bid associated with the advertisement in
the auction. The advertiser preferences can specify a bid modifier
for a preference, in case that preference is not satisfied
completely.
[0076] In some implementations, the preferences can include a
channel to which the advertisement is targeted. An advertiser can
target an advertisement to a particular channel. Examples of
channels include "news videos" or "action movies." In some
implementations, an advertisement targeted to a channel is
identified as a candidate advertisement for auctions for placement
with videos in that channel. However, an advertisement targeted to
a channel can be disregarded with respect to a particular video in
the channel if other advertiser preferences for the advertisement
are not satisfied by the video. For example, an advertisement can
be disregarded if the advertiser specified that the advertisement
be presented only as a pre-roll ad but a video only allows
interstitial and post-roll advertisements.
[0077] Yet another criterion for identifying candidate
advertisements is the content (e.g., subject matter) of the video.
The video can be associated with metadata specifying one or more
topics or concepts. Alternatively, a document provided by the
content provider (e.g., a webpage) can include topical or concept
information for the video. The video can be retrieved by the
advertisement provider 201 from the content provider 203 and
analyzed by the content analyzer 202. One or more topics or
concepts to which the video is relevant can be determined from the
analysis. The content of the advertisement are compared against the
topics or concepts of the video. In an example implementation, the
topics or concepts of the video are compared to the topics and
concepts of the advertisement. For example, the topical keywords of
the video are compared to the topical keywords of the advertisement
using, for example, keyword analysis, and a score can be determined
from the comparison. If the score exceeds a threshold, for example,
the advertisement can be identified as a candidate for the auction,
pending satisfaction of other criteria, if any. Topics can also be
determined from image, audio or video analysis.
[0078] In some implementations, the topical keywords for a video
can be determined using search engine data. For example, data
related to interactions to a video by users who were directed to
the video by a search query (e.g., the video was a result for the
search query) can be an indication of whether the search query is a
good topical keyword for the video. Interactions with the video can
include watching the video in its entirety, watching the video
repeatedly, fast-forwarding or advancing the video, or skipping the
video. A search engine can collect the query and interaction data
anonymously and the advertisement provider 201 can analyze the data
to determine if a search query is a good keyword for the video
based on the interactions of the users. For example, if users who
accessed a video through a search query tended to skip the video,
then the search query can be determined to be a poor keyword for
the video. On the other hand, if the users tend to watch the video
over and over again, then search query can be determined to be a
good keyword for the video. The good keywords are associated with
the video and can be compared to the keywords for the
advertisements.
[0079] In some implementations, an advertisement can target
specific channels. A video can be analyzed to determine to which
channel the video can be classified, or the channels to which the
video can be classified can be specified in the video metadata. In
other words, videos can be classified into channels based on the
analysis of the videos, if no channels were pre-specified. If the
targeted channels of the advertisement match any of the channels to
which the video is classified, the advertisement is identified as a
candidate for the auction, subject to satisfaction of other
preferences (e.g., satisfaction of content provider preferences
regarding placement position). Similarly, advertisements can target
categories of playlists or individual playlists based on such
categorization.
[0080] A further criterion for identifying candidate advertisements
is the surrounding content around the embedded video. The
surrounding content can include the content of the document in
which the video is embedded. In some implementations, the
surrounding content can also include the use profile of the owner
of the document or the user viewing the video. For example, if a
video is embedded in a person's page on a social networking site,
the user profile of the person owning the page and/or the user
profile of the user who is viewing the page and the video are
surrounding content. The surrounding content module 208 can compare
the surrounding content against the topics and concepts of the
advertisement using, for example, keyword analysis, and a score can
be determined from the comparison. If the score exceeds a
threshold, for example, the advertisement can be identified as a
candidate for the auction, pending satisfaction of other criteria,
if any.
[0081] In some implementations, a "user profile" of a page owner or
of a viewer of the video is demographic information associated with
the respective user, such as age, gender, education, etc.
Demographic information of a user can be extracted from the user's
profile on a social networking site, for example. In some
implementations, the demographic information can also be obtained
from third parties. The demographic information can be obtained
separate from any personally identifiable information.
[0082] In some implementations, a further criterion for identifying
candidate advertisements is content of a page that links to the
video. Hyperlinks to a video can be identified by a web crawler
system. Content in the pages that contain the hyperlinks can be
extracted. For example, the anchor text of a hyperlink and text
content surrounding the hyperlink can be extracted. The extracted
text can be compared to the topics and concepts of the
advertisements, similar to the comparison of the surrounding
content and the advertisement described above. In some
implementations, the content from the linking page can be weighted
higher if the linking page is a high-quality page based on inbound
and outbound links, for example.
[0083] In some implementations, the page linking to the video or
the page in which the video is embedded can be analyzed to
determine if the content in the page is related specifically to the
video or includes content related to other videos as well. For
example, the page can be parsed in a structured way to identify
components such as titles, particular blog posts, and so on. When
identifying candidate advertisements for the video, content related
to other videos can be weighted less or disregarded.
[0084] In some implementations, interaction data (e.g., skipping,
fast-forwarding, watching multiple times, etc.) can be collected
for users navigating to the video through the hyperlinks. The
interaction data can be used to determine which hyperlinks and
content related to the hyperlinks are more relevant to the video
for use in advertisement selection.
[0085] In some implementations, another criterion is a text
transcript of speech in the video generated by a speech recognition
process applied to the video. The transcript can be a source of
keywords for the video; keyword analysis can be applied to the
transcript to identify keywords for the video.
[0086] In some implementations, the speech recognition process can
also determine per-term confidence levels for terms in the
transcript, where a term can include words, phrases, numbers,
characters, etc. The per-term confidence levels measure a
confidence of the speech recognition process that the corresponding
terms were recognized correctly. The confidence levels can be used
as weights for terms in the transcript. For example, for two terms
in the transcript of approximately equal relevance to the video,
the term with the higher confidence level is given more weight, and
thus more influence, when matching advertisements to terms in the
transcript. An example of using speech recognition, including
confidence levels for terms, to identify advertisements relevant to
content is disclosed in U.S. patent application Ser. No.
11/241,834, titled "Using Speech Recognition to Determine
Advertisements Relevant to Audio Content and/or Audio Content
Relevant to Advertisements," filed Sep. 30, 2005, which is
incorporated by reference herein in its entirety.
[0087] In some implementations, the transcript can also be used to
verify any publisher-provided metadata regarding the subject matter
of the video. For example, the publisher of the video can declare
in the video metadata that the video is about cars. If the
transcript indicates that the video is about baseball (e.g.,
because the transcript has no mention of "cars"), the video and the
publisher can be flagged for further manual review. If the manual
review confirms that the video metadata does not accurately
describe the subject matter of the video, the publisher can be
penalized (e.g., banned from receiving advertisements from the
advertisement provider 201, lesser penalties).
[0088] In some implementations, the comparison with the surrounding
content is omitted if the advertisement targets particular channels
of videos.
[0089] As an example of how both the content of the video and the
surrounding content can affect the identification of candidate
advertisements, consider a video about cars. If the video is
embedded in a webpage about racing, then advertisements for racing
cars or sports cars, for example, can be identified as candidate
advertisements. If the video is embedded in a webpage about
parenting, then advertisements for family friendly cars (e.g.,
minivans) or child safety seats, for example, can be identified as
candidate advertisements. Advertisements for racing cars or sports
cars would be less likely to be identified as candidate
advertisements in the second scenario because of the difference in
the surrounding content (webpage about parenting vs. webpage about
racing). In some implementations, content that is not likely to be
relevant to the content of a webpage can be excluded from the
targeting.
[0090] In some implementations, an advertisement is compared
against both the content of the video and of the surrounding
content, and the comparisons are combined in a weighted manner. For
example, the comparison between the topics of the advertisement and
the topics of the video, as determined from an analysis of the
video can yield one score, the comparison between the topics of the
advertisement and the content of the document in which the video is
embedded yields another score. Further, comparison to the user
profile of the document owner and/or to the user profile of a user
viewing the document can yield respective scores. Weights can be
specified for each of these types of comparisons. In some
implementations, the weights can be specified by the author or
provider of the video or the owner or provider of the document in
which the video is embedded. The weights can be specified per
provider and/or per content item. The weights can serve as an
indication of which comparison should play a larger role in
affecting which advertisements are candidates.
[0091] In some implementations, the weights can be adjusted over
time to optimize the weightings. For example, weights can be
determined from experimentation and empirical analysis of
performance of advertisements placed using different weights. As
another example, a machine learning process can be used to analyze
the advertisement performance and adjust weights without manual
intervention.
[0092] The scores from the comparisons to the content of the video
and of the surrounding content can be combined into a weighted
score for the advertisement using, for example, a linear
combination. An example linear combination is
S=.alpha.A+.beta.B+.gamma.C+ . . . , where S is the weighted score,
.alpha., .beta., and .gamma. are the weights, and A, B, C are the
scores determined from the individual comparisons. A weighted score
S can be determined for an advertisement. If the weighted score
exceeds a specified threshold, then the advertisement is identified
as a candidate advertisement for the auction. Otherwise, the
advertisement is disregarded or disqualified.
[0093] One or more of the candidate advertisements are selected
(506). In some implementations, the identified candidate
advertisements are placed into an auction for presentation with the
video. Advertisers can enter bids using the ad server 206, for
example. The bids can be cost-per-click (CPC) bids or
cost-per-thousand impression (CPM) bids. In an example
implementation, the CPM bid of an advertisement can converted to an
estimate CPC bid by multiplying the CPM bid with a click-through
rate of the advertisement. The advertisements in the auction are
then ordered based on their actual or estimate CPC bids.
[0094] In some implementations, the advertiser can enter a base bid
and any number of bid modifiers. An example of a bid modifier is a
decrease of $0.50 from the bid if the video allows skipping of
advertisements. Another example of a bid modifier is a decrease of
$0.50 from the bid if the video does not allow pre-roll
advertisements. These modifiers allow an advertiser to fine tune
its bid based on the advertiser's value of an ad placement under
various conditions.
[0095] A bid of an advertisement can also be modified by the
advertisement provider 201 based on the performance or quality of
the advertisement over time. In some implementations, quality
measures of an advertisement can include a click-through rate, a
conversion rate, a skip rate, the number of times the advertisement
was viewed completely vs. the number of impressions, and so forth.
Advertisements of low quality based on these measures can have
their bids decreased. For example, if the advertisement has a high
rate of being skipped by viewers and/or has a low conversion rate,
the bid can be decreased.
[0096] The advertisements with the highest bids are selected by the
ad selection module 204 to fill the available advertisement
placement positions. Thus, for example, if there are three
available positions (say, a pre-roll position for one ad, an
interstitial slot for one ad, and a post-roll position for one ad),
the three advertisements with the highest bids are selected for the
positions. In an example implementation, the advertisements are
placed into the positions in their bid order. Thus, for example,
the advertisement with the highest bid is placed in the earliest
position, the advertisement with the next highest bid is placed in
the next position, and so forth.
[0097] In some other implementations, the bid order determines a
priority as to which of the selected advertisements will get a
desired position. For example, if there are a pre-roll position, an
interstitial slot, and a post-roll position, a highest bidding
advertisement that prefers an interstitial slot will get the
interstitial slot, while the next advertisement in the bid order
can be placed in a pre-roll or a post-roll position even if the
advertisement also prefers an interstitial slot.
[0098] The selected advertisements are transmitted for presentation
with the video (508). The ad server 206 transmits the
advertisements to the user device 205. The advertisements are
received by the advertising module 224 and are placed into their
respective positions. The content player module 222 displays the
advertisements at their respective positions. For example, the
advertisements can be displayed in-stream with a video in the
content display region 402 (FIG. 4).
[0099] In some implementations, after the advertisements are
transmitted to the user device 205, the user response to the
advertisements and the video can be monitored. For example, data on
click-throughs of the advertisement, viewing of the respective
advertisements in their entirety (or not), viewing of the video in
its entirety, and skipping of the advertisements can be collected
by the advertisement provider 201. The advertisement provider can
use this data to determine the performance of the advertisements,
for example. In an example implementation where the content
provider participates in a revenue sharing scheme, the performance
data can be used to determine the amount of revenue to which the
content provider is entitled. An example of a revenue sharing
scheme is disclosed in U.S. patent application Ser. No. 11/755,624,
entitled "Flexible Revenue Sharing and Referral Bounty System,"
filed May 30, 2007, which is incorporated by reference in its
entirety herein.
[0100] Further, the performance data can be used as a signal to
adjust the weights of the scores of comparisons to the video and to
the document or to adjust the bids of ads in an auction. For
example, if the performance of an ad is good with respect to a
particular video, the performance data can be used by the
advertisement provider 201 to increase one or more weights with
respect to the content provider of the video or with respect to the
video. On the other hand, if the performance is poor, the weights
can be decreased. As another example, the bid for a poor performing
ad can be decreased, and the bid for a well performing ad can be
increased.
[0101] In an example implementation of the process 500 described
above, the identification of candidate advertisements begins, after
receiving the request for advertisements, with the determination of
advertisements that are relevant to the video and to the document
based on comparisons to the video content and to the document
content, as described above. An advertisement can be scored using a
linear combination, for example, of the scores for the individual
comparisons. For example, the score from the comparison to the
video content can be weighted by a first weight to yield a first
weighted score (e.g., .alpha.A) and the comparison to the document
can be weighted by a second weight to yield a second weighted score
(e.g., .beta.B). The two weighted scores are added to yield the
score for the advertisement. Ads with scores above a threshold are
identified as candidates for further consideration.
[0102] The identified advertisements are then filtered by matching
them against the content provider preferences. For example, if the
content provider preferences specify a desire for interstitial ads
only, and each ad can be at most 30 seconds long, then ads targeted
for a pre-roll or post-roll position or that are longer than 30
seconds can be disqualified. As another example, if the content
provider preferences specify a desire for video ads only, then
non-video ads are disqualified.
[0103] One or more of the non-disqualified ads are selected based
on an auction, where each of the non-disqualified ads is associated
with a bid. The ads with the top bids are selected, subject to
length restrictions. For example, if the auction is for one
interstitial slot of 1 minute long, and the ad with the high bid is
40 seconds long, then the remaining 20 seconds in the slot can be
filled by an ad of 20-seconds or shorter with the next highest bid,
or it can go unfilled if there are no 20-second ad in the auction.
The ads selected from the auction are transmitted to the user
device 205 for presentation to the user. Data on user responses to
the advertisements and the video (e.g., click-throughs of the
advertisement, viewing of the respective advertisements in their
entirety, viewing of the video in its entirety, and skipping of the
advertisements) can be collected. The collected data can be used by
the advertising provider 201 to adjust the weights in the
determination of relevant advertisements and/or adjust the bids of
ads in auctions.
[0104] FIG. 6 shows an example of a generic computer device 600 and
a generic mobile computer device 650, which may be used with the
techniques described above. Computing device 600 is intended to
represent various forms of digital computers, such as laptops,
desktops, workstations, personal digital assistants, television
set-top boxes, servers, blade servers, mainframes, and other
appropriate computers. Computing device 650 is intended to
represent various forms of mobile devices, such as personal digital
assistants, cellular telephones, smartphones, and other similar
computing devices. The components shown here, their connections and
relationships, and their functions, are meant to be exemplary only,
and are not meant to limit the implementations described and/or the
claims.
[0105] Computing device 600 includes a processor 602, memory 604, a
storage device 606, a high-speed interface 608 connecting to memory
604 and high-speed expansion ports 610, and a low speed interface
612 connecting to low speed bus 614 and storage device 606. Each of
the components 602, 604, 606, 608, 610, and 612, are interconnected
using various buses, and may be mounted on a common motherboard or
in other manners as appropriate. The processor 602 can process
instructions for execution within the computing device 600,
including instructions stored in the memory 604 or on the storage
device 606 to display graphical information for a GUI on an
external input/output device, such as display 616 coupled to high
speed interface 608. In other implementations, multiple processors
and/or multiple buses may be used, as appropriate, along with
multiple memories and types of memory. Also, multiple computing
devices 600 may be connected, with each device providing portions
of the necessary operations (e.g., as a server bank, a group of
blade servers, or a multi-processor system).
[0106] The memory 604 stores information within the computing
device 600. In one implementation, the memory 604 is a volatile
memory unit or units. In another implementation, the memory 604 is
a non-volatile memory unit or units. The memory 604 may also be
another form of computer-readable medium, such as a magnetic or
optical disk.
[0107] The storage device 606 is capable of providing mass storage
for the computing device 600. In one implementation, the storage
device 606 may be or contain a computer-readable medium, such as a
floppy disk device, a hard disk device, an optical disk device, or
a tape device, a flash memory or other similar solid state memory
device, or an array of devices, including devices in a storage area
network or other configurations. A computer program product can be
tangibly embodied in an information carrier. The computer program
product may also contain instructions that, when executed, perform
one or more methods, such as those described above. The information
carrier is a computer- or machine-readable medium, such as the
memory 604, the storage device 606, memory on processor 602, or a
propagated signal.
[0108] The high speed controller 608 manages bandwidth-intensive
operations for the computing device 600, while the low speed
controller 612 manages lower bandwidth-intensive operations. Such
allocation of functions is exemplary only. In one implementation,
the high-speed controller 608 is coupled to memory 604, display 616
(e.g., through a graphics processor or accelerator), and to
high-speed expansion ports 610, which may accept various expansion
cards (not shown). In the implementation, low-speed controller 612
is coupled to storage device 606 and low-speed expansion port 614.
The low-speed expansion port, which may include various
communication ports (e.g., USB, Bluetooth, Ethernet, wireless
Ethernet) may be coupled to one or more input/output devices, such
as a keyboard, a pointing device, a scanner, or a networking device
such as a switch or router, e.g., through a network adapter.
[0109] The computing device 600 may be implemented in a number of
different forms, as shown in the figure. For example, it may be
implemented as a standard server 620, or multiple times in a group
of such servers. It may also be implemented as part of a rack
server system 624. In addition, it may be implemented in a personal
computer such as a laptop computer 622. Alternatively, components
from computing device 600 may be combined with other components in
a mobile device (not shown), such as device 650. Each of such
devices may contain one or more of computing device 600, 650, and
an entire system may be made up of multiple computing devices 600,
650 communicating with each other.
[0110] Computing device 650 includes a processor 652, memory 664,
an input/output device such as a display 654, a communication
interface 666, and a transceiver 668, among other components. The
device 650 may also be provided with a storage device, such as a
microdrive or other device, to provide additional storage. Each of
the components 650, 652, 664, 654, 666, and 668, are interconnected
using various buses, and several of the components may be mounted
on a common motherboard or in other manners as appropriate.
[0111] The processor 652 can execute instructions within the
computing device 650, including instructions stored in the memory
664. The processor may be implemented as a chipset of chips that
include separate and multiple analog and digital processors. The
processor may provide, for example, for coordination of the other
components of the device 650, such as control of user interfaces,
applications run by device 650, and wireless communication by
device 650.
[0112] Processor 652 may communicate with a user through control
interface 658 and display interface 656 coupled to a display 654.
The display 654 may be, for example, a TFT (Thin-Film-Transistor
Liquid Crystal Display) display or an OLED (Organic Light Emitting
Diode) display, or other appropriate display technology. The
display interface 656 may comprise appropriate circuitry for
driving the display 654 to present graphical and other information
to a user. The control interface 658 may receive commands from a
user and convert them for submission to the processor 652. In
addition, an external interface 662 may be provide in communication
with processor 652, so as to enable near area communication of
device 650 with other devices. External interface 662 may provide,
for example, for wired communication in some implementations, or
for wireless communication in other implementations, and multiple
interfaces may also be used.
[0113] The memory 664 stores information within the computing
device 650. The memory 664 can be implemented as one or more of a
computer-readable medium or media, a volatile memory unit or units,
or a non-volatile memory unit or units. Expansion memory 674 may
also be provided and connected to device 650 through expansion
interface 672, which may include, for example, a SIMM (Single In
Line Memory Module) card interface. Such expansion memory 674 may
provide extra storage space for device 650, or may also store
applications or other information for device 650. Specifically,
expansion memory 674 may include instructions to carry out or
supplement the processes described above, and may include secure
information also. Thus, for example, expansion memory 674 may be
provide as a security module for device 650, and may be programmed
with instructions that permit secure use of device 650. In
addition, secure applications may be provided via the SIMM cards,
along with additional information, such as placing identifying
information on the SIMM card in a non-hackable manner.
[0114] The memory may include, for example, flash memory and/or
NVRAM memory, as discussed below. In one implementation, a computer
program product is tangibly embodied in an information carrier. The
computer program product contains instructions that, when executed,
perform one or more methods, such as those described above. The
information carrier is a computer- or machine-readable medium, such
as the memory 664, expansion memory 674, memory on processor 652,
or a propagated signal that may be received, for example, over
transceiver 668 or external interface 662.
[0115] Device 650 may communicate wirelessly through communication
interface 666, which may include digital signal processing
circuitry where necessary. Communication interface 666 may provide
for communications under various modes or protocols, such as GSM
voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA,
CDMA2000, or GPRS, among others. Such communication may occur, for
example, through radio-frequency transceiver 668. In addition,
short-range communication may occur, such as using a Bluetooth,
WiFi, or other such transceiver (not shown). In addition, GPS
(Global Positioning System) receiver module 670 may provide
additional navigation- and location-related wireless data to device
650, which may be used as appropriate by applications running on
device 650.
[0116] Device 650 may also communicate audibly using audio codec
660, which may receive spoken information from a user and convert
it to usable digital information. Audio codec 660 may likewise
generate audible sound for a user, such as through a speaker, e.g.,
in a handset of device 650. Such sound may include sound from voice
telephone calls, may include recorded sound (e.g., voice messages,
music files, etc.) and may also include sound generated by
applications operating on device 650.
[0117] The computing device 650 may be implemented in a number of
different forms, as shown in the figure. For example, it may be
implemented as a cellular telephone 680. It may also be implemented
as part of a smartphone 682, personal digital assistant, or other
similar mobile device.
[0118] The disclosed and other embodiments and the functional
operations described in this specification can be implemented in
digital electronic circuitry, or in computer software, firmware, or
hardware, including the structures disclosed in this specification
and their structural equivalents, or in combinations of one or more
of them. The disclosed and other embodiments can be implemented as
one or more computer program products, i.e., one or more modules of
computer program instructions encoded on a computer-readable medium
for execution by, or to control the operation of, data processing
apparatus. The computer-readable medium can be a machine-readable
storage device, a machine-readable storage substrate, a memory
device, a composition of matter effecting a machine-readable
propagated signal, or a combination of one or more them. The term
"data processing apparatus" encompasses all apparatus, devices, and
machines for processing data, including by way of example a
programmable processor, a computer, or multiple processors or
computers. The apparatus can include, in addition to hardware, code
that creates an execution environment for the computer program in
question, e.g., code that constitutes processor firmware, a
protocol stack, a database management system, an operating system,
or a combination of one or more of them. A propagated signal is an
artificially generated signal, e.g., a machine-generated
electrical, optical, or electromagnetic signal, that is generated
to encode information for transmission to suitable receiver
apparatus.
[0119] A computer program (also known as a program, software,
software application, script, or code) can be written in any form
of programming language, including compiled or interpreted
languages, and it can be deployed in any form, including as a
stand-alone program or as a module, component, subroutine, or other
unit suitable for use in a computing environment. A computer
program does not necessarily correspond to a file in a file system.
A program can be stored in a portion of a file that holds other
programs or data (e.g., one or more scripts stored in a markup
language document), in a single file dedicated to the program in
question, or in multiple coordinated files (e.g., files that store
one or more modules, sub-programs, or portions of code). A computer
program can be deployed to be executed on one computer or on
multiple computers that are located at one site or distributed
across multiple sites and interconnected by a communication
network.
[0120] The processes and logic flows described in this
specification can be performed by one or more programmable
processors executing one or more computer programs to perform
functions by operating on input data and generating output. The
processes and logic flows can also be performed by, and apparatus
can also be implemented as, special purpose logic circuitry, e.g.,
an FPGA (field programmable gate array) or an ASIC
(application-specific integrated circuit).
[0121] Processors suitable for the execution of a computer program
include, by way of example, both general and special purpose
microprocessors, and any one or more processors of any kind of
digital computer. Generally, a processor will receive instructions
and data from a read-only memory or a random access memory or both.
The essential elements of a computer are a processor for performing
instructions and one or more memory devices for storing
instructions and data. Generally, a computer will also include, or
be operatively coupled to receive data from or transfer data to, or
both, one or more mass storage devices for storing data, e.g.,
magnetic, magneto-optical disks, or optical disks. However, a
computer need not have such devices. Computer-readable media
suitable for storing computer program instructions and data include
all forms of non-volatile memory, media and memory devices,
including by way of example semiconductor memory devices, e.g.,
EPROM, EEPROM, and flash memory devices; magnetic disks, e.g.,
internal hard disks or removable disks; magneto-optical disks; and
CD-ROM and DVD-ROM disks. The processor and the memory can be
supplemented by, or incorporated in, special purpose logic
circuitry.
[0122] To provide for interaction with a user, the disclosed
embodiments can be implemented on a computer having a display
device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal
display) monitor, for displaying information to the user and a
keyboard and a pointing device, e.g., a mouse or a trackball, by
which the user can provide input to the computer. Other kinds of
devices can be used to provide for interaction with a user as well;
for example, feedback provided to the user can be any form of
sensory feedback, e.g., visual feedback, auditory feedback, or
tactile feedback; and input from the user can be received in any
form, including acoustic, speech, or tactile input.
[0123] The disclosed embodiments can be implemented in a computing
system that includes a back-end component, e.g., as a data server,
or that includes a middleware component, e.g., an application
server, or that includes a front-end component, e.g., a client
computer having a graphical user interface or a Web browser through
which a user can interact with an implementation of what is
disclosed here, or any combination of one or more such back-end,
middleware, or front-end components. The components of the system
can be interconnected by any form or medium of digital data
communication, e.g., a communication network. Examples of
communication networks include a local area network ("LAN") and a
wide area network ("WAN"), e.g., the Internet.
[0124] The computing system can include clients and servers. A
client and server are generally remote from each other and
typically interact through a communication network. The
relationship of client and server arises by virtue of computer
programs running on the respective computers and having a
client-server relationship to each other.
[0125] While this specification contains many specifics, these
should not be construed as limitations on the scope of what being
claims or of what may be claimed, but rather as descriptions of
features specific to particular embodiments. Certain features that
are described in this specification in the context of separate
embodiments can also be implemented in combination in a single
embodiment. Conversely, various features that are described in the
context of a single embodiment can also be implemented in multiple
embodiments separately or in any suitable subcombination. Moreover,
although features may be described above as acting in certain
combinations and even initially claimed as such, one or more
features from a claimed combination can in some cases be excised
from the combination, and the claimed combination may be directed
to a subcombination or variation of a subcombination.
[0126] Similarly, while operations are depicted in the drawings in
a particular order, this should not be understand as requiring that
such operations be performed in the particular order shown or in
sequential order, or that all illustrated operations be performed,
to achieve desirable results. In certain circumstances,
multitasking and parallel processing may be advantageous. Moreover,
the separation of various system components in the embodiments
described above should not be understood as requiring such
separation in all embodiments, and it should be understood that the
described program components and systems can generally be
integrated together in a single software product or packaged into
multiple software products.
[0127] Thus, particular embodiments have been described. Other
embodiments are within the scope of the following claims.
* * * * *