|Publication number||US20080066107 A1|
|Application number||US 11/550,388|
|Publication date||13 Mar 2008|
|Filing date||17 Oct 2006|
|Priority date||12 Sep 2006|
|Also published as||CA2662758A1, CN101535995A, CN101535995B, EP2067105A2, US8719865, US20110289531, WO2008033944A2, WO2008033944A3|
|Publication number||11550388, 550388, US 2008/0066107 A1, US 2008/066107 A1, US 20080066107 A1, US 20080066107A1, US 2008066107 A1, US 2008066107A1, US-A1-20080066107, US-A1-2008066107, US2008/0066107A1, US2008/066107A1, US20080066107 A1, US20080066107A1, US2008066107 A1, US2008066107A1|
|Inventors||Rajas Moonka, Peter C. Chane, Manish Gupta, Nicholas Lee|
|Original Assignee||Google Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Referenced by (75), Classifications (22), Legal Events (1)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application claims the benefit of U.S. Provisional Application No. 60/844,189, titled “Using Viewing Signals Captured in Video Ad-Auction,” filed Sep. 12, 2006, which is hereby incorporated by reference herein.
This application is related to the following U.S. patent applications, which are hereby incorporated by reference herein:
U.S. patent application Ser. No. 11/550,249, titled “Targeted Video Advertising,” filed Oct. 17, 2006;
U.S. patent application Ser. No. 11/240,794, titled “Using Negative User Feedback Information, Such as Advertisement Close Rate, in Scoring and/or Pricing Online Advertisements,” filed Sep. 30, 2006;
U.S. patent application Ser. No. 11/438,473, titled “Estimating Video Ad Performance,” filed May 22, 2006; and
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.
The subject matter of this application is generally related to advertising.
Online video is a growing medium. The popularity of online video services reflect this growth. Advertisers see online video as another way to reach their customers. A form of advertising which is of interest to advertisers is video ads that are played as part of the video stream, sometimes called “in-stream” video advertisements.
Today, most in-stream video ads are sold as flights against a certain number of available impressions (sometimes referred to as “avails”). The conventional advertisement viewing experience for video is largely pre-programmed without providing advertisers with any assurances that the users who view their videos are part of the audience targeted for the advertisement. Moreover, the conventional advertisement viewing experience fails to provide users with the ability to determine the kinds of advertising that they prefer to watch. In-stream video advertisements should be useful for users and not simply a way for advertisers to target users for advertisements.
According to one aspect, a computer-implemented method includes generating a user interface including a display area for displaying video; displaying a video in the display area; and providing a control in the user interface, the control operable by a user to request a video advertising service associated with the video.
According to one aspect, a computer-implemented method includes receiving a video, determining one or more positions in the video, and adding an advertisement slot to the video at each determined position.
According to one aspect, a computer-implemented method includes receiving a video, mapping the video to one or more categories, and associating with the video one or more advertisements targeted to the one or more categories.
According to one aspect, a computer-implemented method includes providing one or more first video advertisements to a user, gathering interaction data regarding interactions with the first video advertisements by the user, and providing one or more second video advertisements to the user based at least on the interaction data.
According to one aspect, a computer-implemented method includes receiving a plurality of bids to provide a video advertisement for insertion into a video, each of the plurality of bids corresponding to a respective video advertisement; receiving user interaction data corresponding to a first one of the respective video advertisements; and modifying the respective bid corresponding to the first one of the respective video advertisements based on the user interaction data.
According to one aspect, a computer-implemented method includes, at a client, receiving a video, the video comprising one or more advertisement slots, and playing back the video to a user. The method also includes, during the playing: detecting an impending advertisement slot, requesting one or more advertisements for placement in the advertisement slot, receiving the one or more advertisements, and placing the one or more advertisements in the advertisement slot.
Like reference numbers and designations in the various drawings indicate like elements.
The publisher 104 stores content and provides the content to clients 102. The content provided by the publisher 104 may include video content. Video content includes any content that can be visually perceived when played, decoded, or rendered. Video content may be stored or streamed. Video content may 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 voice mail, etc. Video content can be compressed or uncompressed. Video content may work with various video and “container” file formats such as, for example, one or more of Macromedia's Flash Video (FLV), Microsoft's Advanced Streaming format (ASF), Windows Media Audio (WMA), Windows Media file with Audio/Video(WMV), Audio Video Interleave (AVI), DivX™, Intel Video Technology (IVF), Quick Time Movie File Extension (MOV), MPEG, Real Media, RealAudio, RealPlayer, Real Video, Vivo Video(VIV), OGG, Matroska, 3gp, NUT, MXF, ratDVD, svi, etc.
The ad aggregator 106 stores information associated with advertisements and provides tools to advertisers or sponsors for creating and managing advertising campaigns. An advertisement (or “ad”) may be any content designed to promote a product or service, or to otherwise give public notice of some subject matter (e.g., a public service announcement, political advertising, a help wanted ad, etc.). An advertisement may include any combination of text, still graphics or images, moving graphics or images (e.g., video, animation), and audio. The advertisement may take on any of a variety of formats, such as a banner, a pop-up, an overlay over other content, a video, an audio recording, etc. The advertisement may be provided by an advertiser or sponsor 110. An advertiser 110 may access the ad aggregator 106 through network 108 to create an advertising campaign and control the placement of advertisements (e.g., by targeting to particular content or categories), bid for advertisement placements, monitor statistics associated with the advertising campaign, and make payments associated with the advertising campaign. In some implementations, the ad aggregator 106 also stores advertisements provided by the advertisers 110 as well.
In some implementations, the video may be displayed within a web browser. For example, a web page may include an embedded video. The embedded video is referenced within the web page by the Universal Resource Locator (URL) of the video. When the web browser renders and displays the web page, a video player module is activated, retrieves the video from the URL, and plays the video within the displayed web page.
Advertisements may be targeted to video content and displayed with video content. In some implementations, video advertisements may be added to video content. When the video content is displayed at a client 102, the added video advertisements may be displayed as part of the displaying of the video content; the video advertisement is displayed in-stream with the video content. For example, one or more video advertisements may be shown in advertisement breaks or slots within a video. In some other implementations, ads may be displayed alongside, on top of, or otherwise in proximity to the video content. For example, a video may be displayed in one region of a user interface, and advertisements (e.g., text ads, banner ads) may be displayed in an adjacent region.
In some implementations, video advertisements provided by advertisers 110 are stored at a publisher 104. When an advertisement is requested by a client 102, as described below, the request is sent to an ad aggregator 106. The ad aggregator 106 determines the advertisement to be placed for the request. The ad aggregator 106 forwards instructions to the publisher 104 to deliver the advertisement, and the publisher 104 transmits the advertisement to the client 102 through network 108.
Content may be displayed in the content area 206. In an exemplary implementation, the content is a web page. Whenever the content includes a video, a video player region 300 may be displayed in the content area 206. In some implementations, other content 208 may be displayed along with the video player region 300. The video player region 300 displays a user interface for viewing a video and controlling the viewing of the video. In one implementation, the other content 208 may include text, graphics, advertisements (e.g., text ads, graphics, links, banners), previews of videos (e.g., thumbnails of video frames), information about the displayed video, links, user-selectable controls, etc.
It should be appreciated that the web browser user interface is merely one exemplary interface for viewing videos. In some other implementations, a video player user interface may be displayed without a web browser interface. For example, a standalone video player application may include a video player user interface.
The control portion 306 includes controls for controlling playback of the video (e.g., play, pause, reverse, fast forward, volume, full screen, skipping, etc.). The control portion 306 also includes a scrubber or progress bar 312 and a playhead 320. The scrubber bar 312 represents the total length of the video. The playhead 320 indicates, by its position relative to the length of the scrubber bar 320, which frame of the video is being displayed at the moment.
The scrubber bar 312 may display one or more advertisement slots 314. In some implementations, the advertisement slots 314 are indicated as vertical bars in the scrubber bar 312, as shown in
The video is played (404). The video may be played in a standalone video player module or in an embedded player module/plug-in. In an exemplary implementation, the video is played in a video player user interface in a web page, such as that described above with relation to
During the playback of the video, an impending advertisement slot in the video is detected (406). One or more video advertisements are requested(408). The video advertisements are requested for placement in the detected advertisement slot and for display to the user when playback of the video reaches the advertisement slot. In some implementations, the request merely asks for one or more advertisements, without requesting for any specific advertisement. In some other implementations, the request may ask for a specific advertisement. In an exemplary implementation, the request includes an identifier of the video (e.g., a video ID), metadata associated with the video, the position of the advertisement slot, and the length of the advertisement slot.
The request is received by a server (410). In some implementations, the server is a server within an ad aggregator. In some implementations, the server may identify the video for which the video advertisement is placed by a video ID included in the request. The identity of the video for which the video advertisement is used to track ad placements. The server may determine one or more video advertisements for placement based on any number of factors, including but not limited to the position of the advertisement slot, the length of the advertisement slot, metadata associated with the video, any categories with which the video is associated, etc.
At least one video advertisement is transmitted (412). In some implementations, the video advertisement(s) are transmitted from the publisher at the request of the ad aggregator. In some other implementations, the video advertisement(s) are transmitted by the ad aggregator. The video advertisement(s) is received by the client (414). The video advertisement(s) is placed in the advertisement slot within the video (416). When playback of the video reaches the advertisement slot, the video advertisement(s) are played back(418).
It should be appreciated that it may be possible that no advertisement is transmitted for an advertisement slot. For example, the ad aggregator may determine that no advertiser provided an advertisement for placement with the video. When playback of the video reaches the advertisement slot, the advertisement slot may be bypassed, and playback continues from the next portion of the video.
As described above, a video may have one or more advertisement slots. An advertisement slot is a span of time in a video that is reserved for presenting video advertisements. In some implementations, an advertisement slot is akin to the well-known commercial break within or between television programs. An advertisement slot may be located anywhere in the video, including at the beginning (before the feature content of the video), in between portions of the video, or at the end (after the feature content of the video). A video may have one or more advertisement slots. An advertisement slot may be of any non-zero length. In an exemplary implementation, the length of an advertisement slot is thirty (30) seconds. In another exemplary implementation, the length of an advertisement slot is sixty (60) seconds. Furthermore, in some implementations, the advertisement slot has a maximum length and the total running time of the one or more video advertisements placed in a particular slot may be less than or equal to the maximum length of that slot.
In some implementations, one or more advertisement slots are added to a video by the creator of the video. That is, the creator of the video indicates the positions and lengths of the advertisement slots as part of the process of creating the video or as a subsequent modification to the video. In some other implementations, positions of advertisement slots are determined by automated processes.
As described above, positions for advertisement slots may be determined by an automated process in block 504. In some implementations, an automated process for determining the slot positions determines which times in the video are the optimal times to interrupt the video and insert an advertisement slot. In some implementations, the determination is based on an analysis of the content of the video.
It should be appreciated that the automated processes for determining advertisement slot positions described above are merely exemplary. The processes described above and other processes for analyzing the content may be utilized individually or in combination to determine advertisement slot positions.
The format of an advertisement, whether video, banner, text, etc, is but one aspect of an advertising campaign. Another aspect of an advertising campaign is the placement of the advertisement. Placement of advertisements is important because the proper placement increases the likelihood that the advertisement is exposed to someone who is interested in the advertisement, and thus more likely to act upon the advertisement.
The user (and potential advertiser) may select the control (e.g., by clicking on it). In response, the user is directed to a sign-up user interface, such as an online form in a web page, where the user may request a video advertising service. In some implementations, the video advertisement service includes placement of an advertisement with a video. To request the placement, a user may make the request in the sign-up user interface. At the user interface, the user provides his information and provides an advertisement to be placed with the video. In some implementations, the sign-up user interface is provided by the ad aggregator 106, and information submitted from the sign-up user interface is stored in the ad aggregator 106. The provided advertisement may be displayed whenever the video is displayed.
The advertisement provided by the user may be a video advertisement. The video advertisement may be provided for placement in an advertisement slot in a video. When playback of the video reaches the advertisement slot, the inserted video advertisement is played back.
In some implementations, where a video advertisement may be placed in a video may be determined by an auction format, similar to that used in the ADSENSE and ADWORDS programs by Google, Inc. (Mountain View, Calif.). For example, the bidding may determine the order in which the video advertisements are placed in a video; video advertisements associated with higher bids may be placed in advertisement slots that are earlier in the video. At the sign-up page described above, the user may place a bid for placing the video advertisement in a video.
In some implementations, the user may request placement of an advertisement at a particular point in the video. As the user and potential advertiser is viewing a video, he may decide that he wishes to place an advertisement for display at a particular time or at a particular advertisement slot in the video. The user may select the sign-up control 310 at that particular time or slot. In one implementation, at the sign-up user interface, the user may elect to insert the provided advertisement into the particular time or advertisement slot at which the user selected the sign-up control 310 or into the advertisement slot nearest in time to when the user selected the sign-up control 310. In another implementation, the user bids to have the provided advertisement placed in the particular time or slot.
In some implementations, the user may provide an advertisement to be placed not only with one particular video, but also with other videos that are related to or in the same category or channel as the video for which the user selected the sign-up control 310. In some implementations, two videos are related if both include one or more common keywords in their title or description or associated metadata and/or include one or more common tags or labels. The sign-up user interface may offer the user the option to place the advertisement with the video during which the sign-up control was selected, or with that video and related videos.
Videos may be grouped by categories or channels. A category or channel may be a group of two or more videos that are related based on their content. A category or channel may express a concept or topic relevant to the content of a video. For example, videos of home runs in baseball games may be grouped into a “sports” category, a “baseball” category, or perhaps even a “baseball” sub-category within a “sports” category. An advertiser or sponsor may target one or more advertisements to any number of categories. An advertisement targeted to a category may be placed with videos in that category. If the advertisement is a video advertisement, the video advertisement may be placed in advertisement slots in videos in that category for playback. In some other implementations, a video advertisement may be targeted based on other criteria in addition to or instead of categories or related videos, such as geographic region, demographics, the website in which the video is embedded, or the identity of the user accessing the video.
In some implementations, an ad aggregator and/or a publisher may provide a network-based video creation tool for enabling potential advertisers or sponsors to create targeted advertising campaigns. In an exemplary implementation, the video creation tool is implemented in a web-based interface (i.e., one or more web pages). The web-based interface may be presented to an advertiser, allowing the advertiser to provide or create an in-stream video advertisement. The interface may provide the advertiser an option to input URL's of particular videos to target or to select categories of videos or particular websites for targeting. If the advertiser selects a category or website for targeting, the tool may present to the user a list of videos in the category or website. For example, a list of URL's of videos with properties of the videos (e.g., length, a sample frame from the video) may be presented to the advertiser. The advertiser may select the entire category or website, or particular videos in the category or website, for targeting.
In some implementations, the advertiser may place a video advertisement using a “run of network” model. In run-of-network advertising, the advertiser gives up its control over the placement of advertisements in return for lower rates and broader reach to targeted markets. In one implementation, video advertisements may be placed with videos in any number of sites within a network of websites. A run-of-network advertising placement is similar to a run-of-site advertising placement, except that the advertisements appear on more than one site instead of an individual site.
Videos may be mapped into categories or channels for targeting purposes in any of a number of ways. In one implementation, the creator of a video specifies one or more categories for the video manually. For example, as part of the process of providing a video to a publisher, the creator of the video may be asked to provide one or more categories for the video. The provided categories may be stored in metadata associated with the video. When the video is loaded for playback by a video player module, the category data in the video metadata is read. When advertisements are requested in block 408 (
In some implementations, a video may be mapped to one or more categories based on its content. In some implementations, the video may be mapped to a category based on speech in the video.
The speech in the video is extracted (712). The speech is the portion(s) of the audio track of the video other than music and sound effects. The speech of the video may include spoken dialogue, narration, and/or sung song lyrics. The speech is converted to text (714). The speech is converted to text using automated speech recognition techniques that are well known in the art. An exemplary speech recognition technique is disclosed in Kai-Fu Lee, “Automatic Speech Recognition—The Development of the SPHINX System,” Kluwer Academic Publishers, Norwell, Ma., 1989; and in U.S. 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 are hereby incorporated by reference herein. The text is classified into one or more categories (716). Any of a number of well-known techniques may be used to classify the converted text into one or more categories. For example, the text may be used by a text or document classifier to classify the video into categories using a clustering algorithm. An exemplary classification technique using a clustering algorithm is described in U.S. Patent Application Publication No. 2004/0068697 A1, titled “Method and Apparatus for Characterizing Documents Based on Clusters of Related Words”, filed Sep. 30, 2003, which is hereby incorporated by reference herein.
In another implementation, the video includes subtitle or closed caption data. In this case, the speech in the video may be identified from the subtitle or closed caption data rather than from speech recognition applied to the audio content of the video. Classification techniques, such as those described above, may be applied to the subtitles or closed captions text to map the video into one or more categories.
It should be appreciated that classification of the speech of a video into categories is merely one exemplary way of categorizing videos. Other ways include, without limitation, classifying based on the content of the website in which the video is embedded and optical content or object recognition. In one implementation, videos may include metadata regarding their content. The videos may be mapped into categories by classifying the video metadata using a clustering algorithm as described above.
When a video advertisement is displayed to users, respective users may interact with the video advertisement differently. Some may skip it as soon as it begins playing or even before it begins playing. Some may skip it after it plays for a number of seconds. Some may let it play back in its entirety. Data regarding such interactions may be used to affect the placement of video advertisements.
The interaction data includes whether a video advertisement was skipped by the user and how much of the advertisement was played before the user skipped it, i.e. the viewing or playback duration. In some implementations, the interaction data may be gathered in the aggregate and associated with the respective advertisements. An advertisement may accumulate interaction statistics that are associated with the advertisement but not associated with a particular individual user, such as the number of skips, the number of skips as a percentage of number of times the ad was placed (the skip rate), viewing or playback durations, and average viewing/playback duration. In some other implementations, besides the aggregate statistics associated with a video advertisement, interaction statistics may be gathered for and associated with particular users. In some implementations, the aggregate statistics may be presented to the respective advertiser or sponsor. For example, the viewing durations of placements of the ad may be presented in a histogram.
One or more second video advertisements are provided to the user based at least on the interaction data (806). The second video advertisements that are presented, which may include none, some, or all of the first video advertisements, may be chosen based at least in part on the interaction data. For example, if a user constantly skips a particular video advertisement, that video advertisement, or even other video advertisements that are related to that video advertisement (e.g., same category, same sponsor, etc.), may be less likely to be chosen for placement for display to the user. Likewise, if the video advertisement is skipped by many users, the video advertisement or other related video advertisements may be less likely to be placed for display to users. As another example, if the average viewing duration of a video advertisement is below a threshold or the average viewing durations of other related video advertisements, the ad may be less likely to be placed. On the other hand, if the user does not skip a particular video advertisement often (e.g., watch it in its entirety for the majority of the placements of the video advertisement for display to the user), then the video advertisement may become more likely to be placed for display to the user.
More generally, the process of providing advertisements based on user interaction data includes presenting a first set of one or more video advertisements, gathering data regarding interactions with the first set of advertisements, and based on the interaction data, present a second set of one or more video advertisements. The first and second sets may or may not include video advertisements in common. Also, the users to which the first and second sets are presented may be the same or different. In one implementation, the first set of video ads are presented to one or more users. Data regarding the users' interactions are gathered, and based on the interaction data, a second set of video ads are presented to the same users. In another implementation, the first set of video ads are presented to a first set of one or more users. Data regarding the first set of users' interactions are gathered. Based on the interaction data with respect to the first set of users, a second set of video ads are presented to a second set of one or more users.
In some implementations, ads with poor interaction statistics (e.g., high skip rate, low average viewing duration) may be penalized by having their bids modified.
A plurality of bids to provide an advertisement for placement in a video, each bid corresponding to a respective video advertisement, is received (902). As described above, the placement of video advertisements with videos may be based on bids placed by advertisers. User interaction data corresponding with a first one of the ads is received (904). The interaction data may include the skip rate and average viewing duration of the ad. The bid for that first one of the ads is modified based on the interaction data (906). In some implementations, the bid is lowered if the interaction data for the ad is “poor,” or of low quality, e.g., low average viewing duration or high skip rate. By lowering the bid, other ads with higher bids are more likely to be placed ahead of the ad whose bid was modified. In some implementations, a bid may be increased if the interaction data for the ad is “good” or of high quality, e.g., low skip rate or high average viewing duration.
It is well known in the art that online advertisement placements may be priced and bid upon based on impressions or click-throughs. In some implementations, the pricing and bidding of video advertisement placements may be based at least in part on whether the video advertisement was played and/or how long it was played. For example, one pricing model is cost per play, where an advertiser pays for video advertisements placements that are not skipped and bids based on the amount he will pay per un-skipped video advertisement placement. In some implementations, the price or bid for placing a video advertisement may be a combination of cost per play and cost per impression, or of cost per play and cost per click-through. For purposes of pricing and bidding, whether an ad is considered skipped may vary depending on the particular implementation. In an exemplary implementation, a video advertisement is considered skipped if it was not played back in its entirety. That is, the video advertisement must be played all the way through, or else it is considered as skipped. In another exemplary implementation, a video advertisement is considered skipped if the viewing duration is below a specified threshold (e.g., an absolute threshold, such as 5 seconds; or a relative threshold, such as 75% of the total length of the ad). A placement of an video advertisement whose viewing duration meets or exceeds the threshold is considered as un-skipped or as a “quality view” and the advertiser is charged for the placement. In another implementation, the cost per play may be a linear or non-linear function of the viewing duration. For example, the advertiser may be charged higher for a longer playing duration and charged less for a shorter duration.
Memory 1006 may store the following modules or sets of instructions, or subsets or supersets thereof: an operating system 1016 for performing system functions and hardware-dependent tasks; a communication module 1018 for communicating with other computers or devices through one or more computer networks such as local area networks, wide area networks, the Internet, etc.; a client application 1020, such as a web browser, for accessing content; and a video player module 1022 for playing video.
The video player module 1022 may include an advertising module 1024. The advertising module 1024 includes an ad request module 1026 for requesting advertisements, such as video advertisements, for placement; an ad insertion module 1028 for inserting video advertisements into advertisement slots of videos; an ad interaction module 1030 for monitoring and gathering statistics of interactions with video advertisements such as skips and viewing durations; and an ad service request module 1032 for providing a sign-up control to and directing users who select the control to a user interface for requesting a video advertising service.
Memory 1106 may store the following modules or sets of instructions, or subsets or supersets thereof: an operating system 1116 for performing system functions and hardware-dependent tasks; a communication module 1118 for communicating with other computers or devices through one or more computer networks such as local area networks, wide area networks, the Internet, etc.; an ad pricing and bidding module 1120 for providing tools for advertisers to bid for advertisement placements, for adjusting bids based on advertisement interaction data, and for facilitating pricing and bidding of video advertisements based on the number or quality of plays, or a combination of plays and either impressions or click-throughs; an ad slot position determination module 1122 for determining positions of advertisement slots in video advertisements and storing the determined positions in metadata; an ad interaction analysis module 1124 for analyzing interaction data associated with video advertisements and/or users and targeting advertisements based on the analyzing; an ad targeting and placement module 1126 for targeting and placements advertisements based on categories or a run-of-network model; and a video categorization module 1128 for mapping videos to categories.
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.
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.
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).
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.
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.
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.
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.
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.
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.
Thus, particular embodiments have been described. Other embodiments are within the scope of the following claims.
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7697183||30 Apr 2007||13 Apr 2010||Prysm, Inc.||Post-objective scanning beam systems|
|US7733310||19 Jan 2006||8 Jun 2010||Prysm, Inc.||Display screens having optical fluorescent materials|
|US7791561||18 Jan 2006||7 Sep 2010||Prysm, Inc.||Display systems having screens with optical fluorescent materials|
|US7869112||11 Jan 2011||Prysm, Inc.||Beam scanning based on two-dimensional polygon scanner for display and other applications|
|US7878657||27 Jun 2007||1 Feb 2011||Prysm, Inc.||Servo feedback control based on invisible scanning servo beam in scanning beam display systems with light-emitting screens|
|US7884816||13 Dec 2006||8 Feb 2011||Prysm, Inc.||Correcting pyramidal error of polygon scanner in scanning beam display systems|
|US8086725 *||20 Aug 2007||27 Dec 2011||Google Inc.||Identifying associated systems such as advertising networks|
|US8108393||9 Jan 2009||31 Jan 2012||Hulu Llc||Method and apparatus for searching media program databases|
|US8135827||7 Apr 2008||13 Mar 2012||Visible Measures Corp.||Distributed capture and aggregation of dynamic application usage information|
|US8196162||30 Jun 2008||5 Jun 2012||Nokia Corporation||Video media advertising metadata|
|US8239889||30 Nov 2009||7 Aug 2012||Hulu, LLC||Method and apparatus for collecting viewer survey data and for providing compensation for same|
|US8296797 *||18 Oct 2006||23 Oct 2012||Microsoft International Holdings B.V.||Intelligent video summaries in information access|
|US8332530||10 Dec 2009||11 Dec 2012||Hulu Llc||User interface including concurrent display of video program, histogram, and transcript|
|US8364707||11 Jan 2012||29 Jan 2013||Hulu, LLC||Method and apparatus for searching media program databases|
|US8418198||25 Apr 2008||9 Apr 2013||At&T Intellectual Property I, Lp||System and method for sending advertising data based on data associated with video data|
|US8473838 *||16 Apr 2008||25 Jun 2013||Google Inc.||Website advertising inventory|
|US8490132 *||4 Dec 2009||16 Jul 2013||Google Inc.||Snapshot based video advertising system|
|US8522142 *||8 Dec 2006||27 Aug 2013||Google Inc.||Adaptive media player size|
|US8549550||14 Oct 2010||1 Oct 2013||Tubemogul, Inc.||Method and apparatus for passively monitoring online video viewing and viewer behavior|
|US8571935||4 Jun 2010||29 Oct 2013||Viacom International Inc.||Dynamic integration and linear presentation of advertising content and media content|
|US8571936 *||4 Jun 2010||29 Oct 2013||Viacom International Inc.||Dynamic integration and non-linear presentation of advertising content and media content|
|US8577996||17 Sep 2008||5 Nov 2013||Tremor Video, Inc.||Method and apparatus for tracing users of online video web sites|
|US8578408||10 Mar 2009||5 Nov 2013||Hulu, LLC||Method and apparatus for providing directed advertising based on user preferences|
|US8595760 *||22 Nov 2006||26 Nov 2013||Amdocs Software Systems Limited||System, method and computer program product for presenting an advertisement within content|
|US8615430||19 Nov 2010||24 Dec 2013||Tremor Video, Inc.||Methods and apparatus for optimizing advertisement allocation|
|US8655718||18 Dec 2007||18 Feb 2014||Yahoo! Inc.||Methods for augmenting user-generated content using a monetizable feature|
|US8666818||15 Aug 2011||4 Mar 2014||Logobar Innovations, Llc||Progress bar is advertisement|
|US8694373||13 Dec 2011||8 Apr 2014||Dennoo Inc.||Methods and systems for processing and displaying advertisements of variable lengths|
|US8706898||1 Nov 2012||22 Apr 2014||Hulu, LLC||Navigating a video, a transcript of a dialog, and a histogram|
|US8707343||31 Jul 2012||22 Apr 2014||Hulu, LLC||Method and apparatus for collecting viewer survey data and for providing compensation for same|
|US8713608 *||12 Jul 2007||29 Apr 2014||At&T Intellectual Property I, Lp||System for presenting media services|
|US8732766 *||7 Jun 2012||20 May 2014||Google Inc.||Video object tag creation and processing|
|US8745647 *||26 Dec 2007||3 Jun 2014||Visible Measures Corp.||Method and system for internet video and rich media behavioral measurement|
|US8752083 *||5 Nov 2010||10 Jun 2014||Viacom International Inc.||Integration of an interactive advertising unit containing a fully functional virtual object and digital media content|
|US8782129 *||23 Nov 2011||15 Jul 2014||Google Inc.||Identifying associated systems such as advertising networks|
|US8806341||10 Dec 2009||12 Aug 2014||Hulu, LLC||Method and apparatus for navigating a media program via a histogram of popular segments|
|US8832753 *||16 Jan 2008||9 Sep 2014||Apple Inc.||Filtering and tailoring multimedia content based on observed user behavior|
|US8874468||20 Apr 2007||28 Oct 2014||Google Inc.||Media advertising|
|US8875177||12 Mar 2013||28 Oct 2014||Google Inc.||Serving video content segments|
|US8875178||11 Mar 2013||28 Oct 2014||At&T Intellectual Property I, Lp||System and method for sending advertising data based on data associated with video data|
|US8959540||19 May 2010||17 Feb 2015||Google Inc.||Predicting engagement in video content|
|US8966520||7 Aug 2012||24 Feb 2015||Hulu, LLC||Video ad swapping in a video streaming system|
|US8978059 *||9 Aug 2011||10 Mar 2015||Mark Krietzman||Connecting message media with shared digital media|
|US8997150 *||27 Sep 2011||31 Mar 2015||Hulu, LLC||Method and apparatus for permitting user interruption of an advertisement and the substitution of alternate advertisement version|
|US9003308||16 Apr 2008||7 Apr 2015||Google Inc.||Interactive placement ordering|
|US9041991 *||26 Nov 2013||26 May 2015||Prysm, Inc.||Beam scanning based on two-dimensional polygon scanner having a designated facet for blanking operation for display and other applications|
|US9053105||10 Sep 2012||9 Jun 2015||Sony Corporation||Information search method, information search server, and information search system for providing content based on current progress status of content|
|US9064024||21 Aug 2007||23 Jun 2015||Google Inc.||Bundle generation|
|US9066122||8 Mar 2013||23 Jun 2015||Google Inc.||Serving video content segments|
|US9066159||23 Oct 2012||23 Jun 2015||Hulu, LLC||User control of ad selection for subsequent ad break of a video|
|US9078048 *||15 Jul 2008||7 Jul 2015||Google Inc.||Finding and populating spatial ad surfaces in video|
|US9100722||11 Aug 2014||4 Aug 2015||Apple Inc.||Filtering and tailoring multimedia content based on observed user behavior|
|US9113214||1 May 2009||18 Aug 2015||Cinsay, Inc.||Method and system for generation and playback of supplemented videos|
|US20090210287 *||18 Feb 2008||20 Aug 2009||Microsoft Corporation||Advertisement space allocation|
|US20090265620 *||16 Apr 2008||22 Oct 2009||Google Inc.||Website Advertising Inventory|
|US20100107262 *||13 Nov 2007||29 Apr 2010||Nhn Business Platform Corporation||Digital rights management method for contents based on streaming service and system for executing the method|
|US20100235236 *||7 Aug 2009||16 Sep 2010||Halevi Gil||System and method for creating and using advertisements database|
|US20100280876 *||4 Nov 2010||Microsoft Corporation||Implicit rating of advertisements|
|US20110112915 *||12 May 2011||Viacom International, Inc.||Dynamic integration and non-linear presentation of advertising content and media content|
|US20110282742 *||17 Nov 2011||Nutex Inc.||Advertisement Displaying Browser and Advertisement System|
|US20120110615 *||27 Sep 2011||3 May 2012||Hulu Llc||Method and apparatus for permitting user interruption of an advertisement and the substitution of alternate advertisement version|
|US20120124145 *||9 Aug 2011||17 May 2012||Mark Krietzman||Connecting message media with shared digital media|
|US20120136728 *||31 May 2012||Brightroll, Inc.||Networked advertisement exchange|
|US20120159541 *||21 Jun 2012||Carton Owen A||Platform shifted advertising and information fulfillment|
|US20120215646 *||9 Dec 2010||23 Aug 2012||Viacom International, Inc.||Integration of a Wall-to-Wall Advertising Unit and Digital Media Content|
|US20120222064 *||5 Nov 2010||30 Aug 2012||Viacom International Inc.||Integration of an interactive advertising unit containing a fully functional virtual object and digital media content|
|US20120239510 *||20 Sep 2012||Viacom International, Inc.||Integration of an advertising unit containing interactive residual areas and digital media content|
|US20120246685 *||7 Jun 2012||27 Sep 2012||Google Inc.||Video Object Tag Creation and Processing|
|US20130086609 *||4 Apr 2013||Viacom International Inc.||Integration of an Interactive Virtual Toy Box Advertising Unit and Digital Media Content|
|US20130263182 *||30 Mar 2012||3 Oct 2013||Hulu Llc||Customizing additional content provided with video advertisements|
|US20140006156 *||30 Aug 2012||2 Jan 2014||Viacom International Inc.||Integration of a Video Wall Advertising Unit with Pushdown and Digital Media Content|
|USRE45201 *||28 Sep 2012||21 Oct 2014||Facebook, Inc.||Systems and method for image processing|
|EP2417767A2 *||7 Apr 2010||15 Feb 2012||Samsung Electronics Co., Ltd.||Apparatus and method for providing information related to broadcasting programs|
|WO2009158581A2 *||26 Jun 2009||30 Dec 2009||Adpassage, Inc.||System and method for spoken topic or criterion recognition in digital media and contextual advertising|
|WO2013025716A1 *||14 Aug 2012||21 Feb 2013||Devree Todd||Progress bar is advertisement|
|U.S. Classification||725/42, G9B/27.021, 725/112, 725/113, 725/35, 725/40, 725/43, 725/34, G9B/27.029, 725/41|
|International Classification||H04N7/10, H04N7/173, H04N5/445, G06F13/00, G06F3/00, H04N7/025|
|Cooperative Classification||G11B27/28, G06F17/30796, G11B27/11|
|European Classification||G06F17/30V1T, G11B27/11, G11B27/28|
|14 Mar 2007||AS||Assignment|
Owner name: GOOGLE INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MOONKA, RAJAS;CHANE, PETER C.;GUPTA, MANISH;AND OTHERS;REEL/FRAME:019010/0259;SIGNING DATES FROM 20070221 TO 20070312