WO2008049013A2 - Targeted video advertising - Google Patents

Targeted video advertising Download PDF

Info

Publication number
WO2008049013A2
WO2008049013A2 PCT/US2007/081659 US2007081659W WO2008049013A2 WO 2008049013 A2 WO2008049013 A2 WO 2008049013A2 US 2007081659 W US2007081659 W US 2007081659W WO 2008049013 A2 WO2008049013 A2 WO 2008049013A2
Authority
WO
WIPO (PCT)
Prior art keywords
commercial
profile
user
viewer
promotional
Prior art date
Application number
PCT/US2007/081659
Other languages
French (fr)
Other versions
WO2008049013A3 (en
Inventor
Mikhail Dmitriev
Nicholas Lee
Rajas Moonka
Manish Gupta
Original Assignee
Google Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google Inc. filed Critical Google Inc.
Priority to EP16153509.1A priority Critical patent/EP3035671B1/en
Priority to ES07844355T priority patent/ES2570959T3/en
Priority to EP07844355.3A priority patent/EP2090101B1/en
Priority to JP2009533506A priority patent/JP5624768B2/en
Priority to CA2666795A priority patent/CA2666795C/en
Publication of WO2008049013A2 publication Critical patent/WO2008049013A2/en
Publication of WO2008049013A3 publication Critical patent/WO2008049013A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • H04N21/25435Billing, e.g. for subscription services involving characteristics of content or additional data, e.g. video resolution or the amount of advertising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/10Arrangements for replacing or switching information during the broadcast or the distribution
    • H04H20/103Transmitter-side switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25883Management of end-user data being end-user demographical data, e.g. age, family status or address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4667Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/65Arrangements characterised by transmission systems for broadcast
    • H04H20/76Wired systems
    • H04H20/82Wired systems using signals not modulated onto a carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/29Arrangements for monitoring broadcast services or broadcast-related services
    • H04H60/31Arrangements for monitoring the use made of the broadcast services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/45Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying users

Definitions

  • the disclosed implementations are generally related to selection of promotional materials for presentation during a video broadcast, such as an internet protocol television broadcast.
  • IPTV internet protocol television
  • SUMMARY [0005] This document describes techniques for providing targeted promotional material to viewers of a video system.
  • a viewer's interactions with particular advertisements may be monitored, such as the advertisements the user skips, and the system may then select other advertisements that are determined to be more like advertisements the user has watched and less like those the user has skipped. While commercial skipping is anathema to most television systems, it may be used as a positive feature of certain implementations disclosed here.
  • a computer-implemented method of providing targeted video promotional material is disclosed. The method comprises transmitting a promotional item for display on a video terminal, determining whether
  • the profile may be updated in some implementations if a portion of the commercial was displayed and a portion skipped.
  • the method may also comprise determining an identity of a viewer of the video terminal.
  • the profile may correspond to a commercial, and the profile may be updated to make the display of the commercial less likely to appear to viewers having characteristics like those of the viewer of the video terminal if the commercial is skipped.
  • the promotional item may also be transmitted as part of a real-time streaming video broadcast.
  • the method may further comprise transmitting a follow-up promotional item for display to replace a skipped promotional item.
  • the method may also include transmitting commercials for display as a fixed-size time block, and transmitting a replacement commercial for each commercial in the block that is skipped.
  • the method may comprise associating one or more attributes with a promotional item, and changing one or more corresponding attributes for a user based on whether the promotional item is viewed or skipped.
  • the method may comprise associating one or more attributes with a user, and changing one or more corresponding attributes for a promotional item based on whether the commercial is viewed or skipped.
  • the profile of the various methods may corresponds to a viewer and be associated with a single session of a viewing device.
  • the method may also comprise transmitting a plurality of promotional items until a predetermined number of promotional items is not skipped, and limiting the number of times a promotional item can be displayed to a viewer.
  • the method may comprise associating a viewer- ranked rating with a promotional item and showing the rating to a viewer before or while displaying the promotional item.
  • the method may also include determining when the promotional is skipped and associating the determination of when the promotional item is skipped with a score for the promotional item.
  • the method may include selecting a promotional item for display by comparing a viewer profile to a profile for the promotional item, and updating the profile of the promotional item in an inverse relationship to the viewer profile if the promotional item is skipped.
  • a computer-implemented system for providing target video promotional material comprises a promotional item database storing promotional items to be displayed to a viewer of a video display system, a promotional item viewer monitor configured to report the occurrence of a skipping of a promotional item by a viewer, and a promotion profile generator that modifies a profile associated with the promotional item when the promotional item viewer monitor indicates that the item has been skipped.
  • the promotional item viewer monitor may report that a promotional item has been skipped when a view watches less than a predetermined portion of the promotional item.
  • the promotional items can include a plurality of video commercials, and the promotion profile generator can modify the profile associated with the promotional item.
  • an electronic system for providing targeted video promotional material comprises a commercial database containing a plurality of commercials associated with one or more commercial parameters, an advertising server configured to select commercials for display on remote video terminals and to determine when commercials have been skipped in whole or in part, and means for updating a demographic profile corresponding to a user or a commercial based on commercial skipping activity of the user.
  • FIG. 1 is a conceptual diagram of a system to identify and select
  • FIGs. 2A-C show exemplary processes that a video delivery system
  • FIG. 3 shows an exemplary timing diagram that illustrates a timeline of a 30-minute television program.
  • FIGs. 4A-B show two exemplary video delivery systems for selecting and presenting video programs and promotions.
  • FIG. 5 shows an exemplary advertising profile and some values for each fields in the profile.
  • FIG. 6 is a flow chart of an example of a method of operations for presenting a video program and item to a viewer of a video delivery system.
  • FIG. 7 is a screen shot of an exemplary video display with advertising.
  • Fig.8 is a schematic diagram of a general computer system.
  • FIG. 1 is a conceptual diagram of a system 100 to identify and select promotional material for a viewer 104 of a video program.
  • the figure shows a queue of candidate commercials or other forms of promotional materials 102a-102d in line to be shown to a viewer 104 of a video monitor such as a television or computer, with the viewer 104 using a device like a remote control 110 to skip or otherwise reject, or to accept or view certain commercials.
  • the system may select advertisements in the queue, or advertisements to add to the queue to show the viewer.
  • the selected advertisements will have one or more features in common with advertisements that the viewer 104 watched, and the rejected advertisements will have features unlike the advertisements that the viewer 104 watched and/or similar to those advertisements the viewer 104 skipped or otherwise disapproved of.
  • the exemplary video delivery system 100 may operate through video programs shown on a television, on a computer, on a television provided with a peripheral like a IPTV or cable box, or other appropriate structures.
  • the delivered video may also take various forms, such as a streaming video, a stored program such as material on a personal video recorder, or material on various forms of volatile or non-volatile media.
  • the material may also take the form of movies, television program, shorts, commercials, and other video programming (which may be accompanied by audio).
  • the video delivery system 100 includes promotional items 102a-d and
  • the video delivery system 100 may select and present a particular item that may be targeted to viewer 104.
  • the characteristics tracked by the video delivery system 100 may include, for example, a product or service type (e.g., a so-called vertical) being promoted (e.g., car, personal care product, pharmaceutical, insurance, investments, etc.), a genre or style of the advertising materials (e.g., informative, romantic, comedic, off-beat, action-packed, etc.), the visual impression of the item (e.g., bright/dark, loud/soft, high/low-energy, etc.), and/or other relevant attributes.
  • a product or service type e.g., a so-called vertical
  • the advertising materials e.g., informative, romantic, comedic, off-beat, action-packed, etc.
  • the visual impression of the item e.g., bright/dark, loud/soft, high/low-energy, etc.
  • the items 102a-d and 112-128 in the depicted example are shown for illustration to have two relevant attributes: one attribute represented by shapes of the items 102a-d and 112-128, and another attribute represented by a number in the shapes.
  • the shape of an item may represent a promotional format, such as a banner ad, a survey, or a standard commercial of a particular length.
  • the number in the item may represent a "style" of the ad, such as action, informative, or romantic.
  • a square with a number 1 in it may represent a 30- second commercial in an informative style
  • a square with a number 4 in it may represent a 30-second commercial in an action style.
  • the system 100 may store data indicating reactions of the viewer 104 to promotional items shown to the viewer 104. Based on reactions, the video delivery system 100 generates a profile of the viewer 104 that may represent the preferences of the viewer 104 as inferred by the viewer's reaction to content and perhaps from explicit information provided by the viewer (e.g., age, gender, etc.). Then, the video delivery system 100 may select promotional items for the viewer 104 based on the generated viewer profile.
  • the conceptual representation of the video delivery system 100 shows an accept bin 106 and a discard bin 108.
  • the viewer 104 skips a promotional item, the item is shown as being placed in the discard bin 108 (via the path labeled "N") because it is inferred that the viewer 104 did not like the item.
  • the viewer 104 may use a remote control 110 (e.g., by selecting a "skip" button in the remote control 110) to skip a currently shown item.
  • the system 100 may use various approaches to reflect the user's discard action, as discussed in more detail below, such as by modifying a profile of the user so that the characteristic stored for the user are driven away from characteristics associated with the rejected item.
  • the user reaction may also be reflected in a non-personal, aggregated manner with other user reactions, such as to provide an item with a rating or popularity score, to be used in future decisions about displaying the item.
  • the viewer 104 watches an item, the item is shown as being placed in the "accept” bin 106 (via the path labeled "Y"). And again, the system 100 may provide for mechanisms for reflecting the acceptance of an item by the viewer 104. Mechanisms for the video delivery system 100 to determine whether a item is watched or skipped are described in further details with reference to FIG. 6. [0030] For an exemplary system orientation, assume that a square in FIG. 1 represents a 30-second commercial, a hexagon represents a 15-second commercial, a triangle represents a user survey, and a circle represents a banner ad. Also, assume that a number 1 represents an informative ad, a number 2 represents a romantic ad, a number 3 represents a comedic ad, and a number 4 represents an action ad.
  • the discard bin 108 includes two items 112,
  • the accept bin 106 includes an item 122 with a square (30-second commercial) and a number 3 (comedic), an item 124 with a triangle (user survey) and a number 4 (action), an item 126 with a square (30-second commercial) and a number 4 (action), an item 128 with a hexagon (15-second commercial) and a number 2 (romantic).
  • the video delivery system 100 selects items to display or play from candidate promotion items 102a-d based on the information derived from the earlier actions of the user. For example, from the limited data in the exemplary system, a determination may be made that viewer 104 likes commercials (squares and hexagons), likes action (number 4), and does not like informative ads (number 1 ). In a typical system, more data may be available so as to make more certain determinations about a viewer's preferences.
  • the video delivery system 100 may accept certain items and not accept others for future display to the viewer 104.
  • the selected items 102a, 102b that would be shown in the example are shown without "X's” over them, while the items 102c, 102d that would not be presented to the viewer 104 are shown with "X's" over them in the figure.
  • the selection of items to display may occur in a number of manners, as described in more detail below. For example, items may simply be downloaded by a service to a viewer's television or computer, and selections may be made from such items being held in a queue, as shown conceptually in the figure.
  • item 102c has characteristics represented by a number 1 (informative) and a circle (banner ad), and has been by-passed because it is believed that viewer 104 does not like informative ads.
  • Item 102d has characteristics represented by a number 1 (informative) and a triangle (user survey), again because the user does not like informative ads, and perhaps also because the user has a tendency biased away from surveys (as indicated by prior rejections of two surveys and acceptance of only one).
  • FIG.1 is relatively static of necessity, the entire system may be updated and otherwise affected during its operation. For example, when items 102a, 102b are provided to viewer 104, the viewer 104 may accept or reject them.
  • the system may adjust a profile for viewer 104 so that it would be unlikely that the viewer 104 would be shown another banner ad, at least not for a certain time period (if the system permits for time-based decay of certain profile parameters so that a user is not locked into long- ago decisions, and also to ensure that improper inferences are not made by the system and locked in for a long time).
  • decisions about whether to present an item to viewer 104 may be made based on a mixture of many different parameters. In this manner, one factor may be prevented from overly affecting a presentation decision.
  • use of additional parameters may permit certain parameter to "re-enter" a viewer's system if appropriate. For example, where a single parameter controls, a system may stop a user from seeing informative advertisements if the user coincidentally rejects a number of informative advertisements, even if the user rejected them for a different reason. Where multiple parameters are used, future informative ads might be allowed to "sneak" through by the system, and the user may choose to watch them, and the scoring for that parameter may subsequently be affected so more ads of a similar style are shown to the viewer.
  • decisions about various promotional items may also be aggregated across multiple viewers, including across all or substantially all of the users of a video distribution service. For example, reactions to commercials, both positive (i.e., a viewer watched all or substantially all of the commercial) and negative (i.e., the viewer chose to skip all or part of the commercial) may be aggregated to provide a score or other type of ranking for a commercial.
  • the score in some embodiments, may be based on a level of match between a list of keywords associated with a viewer or with a program being viewed, and keywords associated with the commercial. For example, a beer advertiser may associate keywords like "beer,” “football,” “sports,” and “comedy” with an advertisement.
  • Video programs may likewise be associated with keywords, such as through a "tagging" process by which a submitter of the video or viewers of the video assign tags to the program. Advertisements may be selected to be shown during the program using such tags or keywords.
  • a viewer may identify keywords that identify himself or herself, and/or certain keywords may be associated with a user by the system, such as keywords correlating to programs or advertisements that the viewer watches.
  • the score may also be based in whole or in part on the number of times the commercial is watched when multiple commercials are presented to users for selection.
  • the score may relate to keywords associated with a commercial plus a "watch fraction," that measures the total number of times a commercial is watched for a particular keyword or other factor, divided by the total number of times all presented commercials are watched.
  • the score may also be based on a comparison of times a commercial is watched divided by the number of times the commercial has been displayed as an option to users (i.e., using the number of "impressions" to compute a watched-divided-by-impressions fraction).
  • Other various appropriate measures of popularity or suitability may also be employed.
  • the information about preferences may be collected for various viewing periods. For example, viewing data may be accumulated for a single session, such as by matching information to a session identifier. Such an identifier may be made anonymous but still obtain adequate information to make for a more enjoyable viewing session for a user. Alternatively, information may be accumulated across multiple sessions. Viewers may also be given an opportunity to select whether information will be accumulated for only a single session or for multiple sessions.
  • certain techniques may be used to prevent some promotional items from being shown to a user many times, for example, by frequency capping items. Repeated viewing of a single item is not good for the viewer or for the advertiser. Such an approach of limiting the frequency with which an item is shown may be particularly appropriate where the pool of relevant items is small.
  • the level of capping may be dependent on the size of the relevant pool, so that capping occurs before the pool is empty, or so that previously rejected items may be preferred over accepted items that have already been displayed.
  • the rejected item, from the pool of rejected items, that most closely matches items that have been accepted, may be the item shown to a user in such a situation.
  • FIGs. 2A-C show exemplary processes that a video delivery system may use to generate profiles for promotional items and users.
  • FIGs. 2A and 2B processes are shown by which a system can use the characteristics of a known entity to apply characteristics to an unknown entity — from users to promotional items, or from promotional items to users.
  • a new advertisement enters a system without any sort of profile, and is ultimately assigned a profile that matches the profiles of viewers who watch the advertisement, and that does not match the profiles of viewers who reject the advertisement.
  • the characteristics of known viewers may be applied to unknown promotional items.
  • FIG. 2B a new viewer for whom the system has little or no information is assigned a profile as the viewer accepts or rejects known promotional items.
  • a viewer or promotional item is too new for the system to have reasonable certainty about its profile, it may be given no profile and may otherwise be treated without respect to any profile; for example, a new commercial may be shown to users having all profiles.
  • a system may select particular viewers for a new item or particular items for a new viewer so as to more quickly produce a good profile.
  • a new item may be shown to viewers having a range of profiles, or to viewers having very extreme profiles — the former perhaps permitting a more accurate characterization, and the latter perhaps permitting a more rapid characterization.
  • some viewers may have profiles that indicate they never want to watch a informative commercial, but would instead watch only comedic ads, while other viewers may be just the opposite.
  • Such viewers may be chosen for new commercials because their reactions with respect to the "style" of the commercial can be expected to be definitive, and thereby to permit ready classification or profiling of the commercial.
  • Equally definitive viewers may be chosen for other parameters, so as to quickly profile an item across all parameters.
  • FIG. 2A shows an exemplary process 200 that a system, such as video delivery system 100, may use to characterize unprofiled commercials.
  • a system such as video delivery system 100
  • an advertiser may provide an unprofiled commercial to the video delivery system 100 for presentation.
  • the video delivery system 100 may reset a profile of a commercial when, for example, the video delivery system 100 determines that the existing profile is inaccurate.
  • the video delivery system 100 may follow the process 200 to assign attributes to parameters of commercials (or other promotional items).
  • the system 100 can assign attributes to commercials based on reactions given to the commercials by multiple users.
  • the process 200 includes three original commercials 202a, 202b, 202c that enter the system unprofiled, with no values assigned to their various profile parameters.
  • three parameters are shown — with two of the parameters depicted as slider bars, and one depicted as terms representing particular genres (such as in the form of keywords).
  • the slider bars may represent a value, such as a value between 1 and 100 showing the commercial's similarity for a particular parameter.
  • one parameter may be "action,” with low values representing that the commercial is perceived to have little action, and a high value representing that viewers perceive the commercial to have a high level of action.
  • the second slider may represent the loudness, or volume, of the commercial. Although television volume generally is capped at some maximum value, some commercials may sound louder than others because they have a sustained volume near the maximum. Research may find that certain viewers have particular preferences for action and volume, and so these parameters may be assigned to commercials (and to viewers) to help match commercials to those preferences of viewers. For other attributes, the video delivery system 100 may assign discrete values (e.g., binary values or multiple choice values) to indicate an attribute. For example, a gender attribute would have only two values, while the final value shown in FIG.
  • 2A shows multiple choice values.
  • various other parameters may also be assigned.
  • a viewer's preference for a particular item may be tracked, so that the item is not shown to the user again if the user rejects it (unless there are no other items to show to the user because the user has skipped everything). In such a situation, one could consider an item to have a single binary parameter for each user.
  • Certain parameters can also be defined or inferred from sources other than reactions by viewers to certain items.
  • a geography may be associated with a user, such as by an IP address for the user, and items may be selected using such information.
  • people from a certain area may be known to respond better to certain types of advertisements.
  • Such location information may also permit particular languages to be identified with an advertisement, or a language of a web browser or other program from which a video request is made may be used to select an advertisement.
  • tags, comments, and ratings may be applied to provide for richer classification of on-line videos and items.
  • Such information may also be displayed along with an advertisement or with a preview (such as a frozen frame) of an advertisement.
  • a rating level e.g., 1 to 5 stars
  • a user may also identify themselves with a group that is in turn associated with a parameter such as ratings.
  • a teen may be interested in advertising ratings from other teens rather than from senior citizens (as may a senior citizen who is young at heart), and may thus identify themselves as a teen to be part of such a group.
  • the items may also be provided with third-party ratings, such as the familiar movie rating system of G, PG, R, etc. Users or guardians of users may then select a rating level or maximum rating level for items to be displayed. Where no level is explicitly selected, a level may be inferred, such as with other parameters.
  • a video delivery system presents the unprofiled commercials 202a-c to multiple users of known profiles 206a-d, and collects those users' reactions so as to assign attribute values to the commercials 202a-c.
  • the process 200 can iteratively adjust the assigned attribute values.
  • the user profiles 206a-d are known and accessible by the process 200.
  • Each of the user profiles 206a-d is represented by slider bars 210 that indicate a value for the two top attributes characterizing the commercials 202a- c.
  • the process 200 may iteratively estimate the attribute values that approximate characteristics of the commercials 202a-c, by pushing the relevant attribute values away from values held by users who skip the commercials and toward values of users who watch the commercials.
  • the amount that an attribute value is changed for a particular commercial may be a factor of how many times the commercial has been presented (with smaller changes in values when the commercial has been presented many times), how strong the preferences are for a viewer who accepted or rejected the commercial (e.g., how far from a middle value the viewer's value for an attribute is), and how far the viewer's value for an attribute is away from the commercial's value, among others.
  • One or more attributes such as the topic of commercials 202a-c may be static.
  • one commercial is about cars, another about movies (e.g., a movie trailer), and one about sports (e.g., a promotion for a playoff game).
  • These attributes may be set by the advertisers or by others, and may be used to match the commercials 202a-c with viewers.
  • the other attributes such as those shown by the sliders, may also be pre-assigned so that a commercial has an initial profile. Those factors may also be set or may be allowed to change as viewers accept or skip the commercials.
  • the commercials 202a-c are shown entering the top of the figure without any attributes for particular parameters. Each commercial is shown stepping down the page after being shown to, and receiving a reaction from, one of four different viewers. As the commercials progress downward, they pick up the profiles of viewers who react positively, and they move away from the profiles of viewers who react negatively.
  • the commercials 202a-c may first be presented to a user associated with the user profile 206a.
  • the user skips the commercials 202a, 202b, as shown by downward arrows 208a, 208b, respectively.
  • the user accepts the commercial 202c as shown by an upward arrow 208c.
  • the video delivery system 100 may then retrieve the user profile 206a or portions of the profile 206a and assign initial attributes to the commercials 202a-c.
  • the video delivery system 100 may initialize the attribute values in the profiles 204a-c as shown by updated profiles 212a, 212b, 212c.
  • the process 200 assigns the values for the user profile 206a to the commercial 202c. Because the user skipped the commercials 202a, 202b, the process 200 initially assigns the complement of the values in the user profile 206a. For example, a complement of an attribute value of 80 in a value range of 0-100 may be an attribute value 20.
  • the scale for parameters can range between -1 and 1.
  • a user's preference for loudness may be graded between -1 (likes only quiet commercials) and 1 (likes only loud commercials).
  • a profile parameter can be calculated for a commercial as a "weighted average" of user's profiles, where the weight is 1 if the user watched the commercial, and -1 if he skipped it.
  • the process 200 presents the commercials 202a-c to a user associated with the profile 206b, as shown by the profiles for the commercial moving downward through the figure. Based on the received reactions (indicated by up and down arrows), the process 200 may adjust the attributes in the profiles 212a-c. In some implementations, the process 200 may use a weighted function to adjust the attributes for the commercials 202a-c. For example, the process 200 may compute an adjustment value for an accepted commercial by first determining a difference between an attribute value in a user's profile and a present attribute value in a commercial profile, and then multiplying the difference with a step size. Also, the process 200 may compute an adjustment value for a skipped commercial by first determining a difference between a complement of an attribute value in a user's profile and a present attribute value in a commercial profile, and then multiplying the difference by a step size.
  • the second viewer skips the commercials 202a, 202c but watches the commercial 202b.
  • the process 200 may then adjust the profiles 212a-c to profiles 214a-c using the second viewer's profile 206b.
  • the process 200 may store all received reactions associated with user profiles and generate a best-fit value for each of the attributes based on the stored reactions.
  • the process 200 may use an artificial neural network, a least square algorithm, or other fitting algorithms, to generate a best-fit value using the stored data.
  • a system may simply supply a rating to a commercial and increase the rating if the commercial is accepted, and lower the rating if it is rejected, without regard to viewer profiles.
  • the process 200 may then present the commercials 202a-c to a viewer associated with the profile 206c. As shown, the viewer skips commercials 202b, 202c but not commercial 202a. The process 200 may then adjust the profiles 214a- c to profiles 215a-c as shown. Similarly, the process 200 may present the commercials 202a-c to the viewer with profile 206d, and may update commercial profiles 216a, 216b, 216c, accordingly.
  • the process 200 may continue to adjust the profiles of the commercials 202a-c when the commercials are presented to other users.
  • the system 100 may stop adjusting the profiles 202a-c when a fixed number of adjustments have been made.
  • the commercials 202a-c are shown for clarity as being presented in the same order to the same viewers, the commercials may simply be deployed across a large number of viewers as devices associated with the viewers call for commercials. For example, a large number of viewers may be watching videos on their computers simultaneously, and a process associated with process 200 may be selected appropriate commercials to display for all of the various viewers.
  • commercials are used as an exemplary format here, various other forms of promotional items may also be selected and provided in similar manners.
  • advertisers may also provide their own profile for a commercial.
  • the advertisers may either lock the profile of a commercial so that the profile cannot be changed, or may allow the profile to float.
  • an advertiser may produce a commercial that is targeted to a particular user group.
  • the advertiser can target the commercial to reach a particular group of viewers.
  • the advertiser may assign a set of fixed attribute values, such as household income and age, to a commercial that demographically define a group of viewers.
  • an advertiser may select a program or group of programs during which a promotion is to air.
  • a pharmaceutical company may set a commercials profile so that it airs only during news programming or even only during 60 Minutes, while an advertiser of a convertible car may target only music programs or programs associate with a younger demographic.
  • an advertiser may produce a commercial with no particular target user group to be reached. For example, the advertiser may want the commercial to reach all possible users first and gradually focus on some users that may be more interested in the commercial. By letting the commercial's profile float, the commercial may reach all viewers and then be directed to the viewers who may be more interested in the commercial.
  • a commercial may develop a profile that enables the commercial to be viewed by users who are more likely to accept the commercial.
  • FIG. 2B shows an exemplary process 220 for profiling a user based on reactions of the user to various profiled commercials.
  • the process 220 includes the commercial profiles 216a-c that were established in FIG.
  • the user's profile 206e may not have attributes assigned to it (or it may have attributes assigned to certain parameters and have other attributes left blank).
  • the user 221 may be a new user of the video delivery system 100.
  • the user 221 may reset his/her profile because, for example, the user 221 is disappointed with the commercials the system is presenting.
  • the broadcasting network may also reset the profile of the user 221 because, for example, the user 221 skips most of commercials selected according to the user's profile 206e.
  • the information about preferences may be kept for only a single session, and may thus need t obe rebuilt with each session.
  • the user may also explicitly set some or all attributes associated with a profile. For example, the user may identify a gender and a birthdate or age, or may choose various products or topics for commercials that the user prefers, and may then allow the system to infer other attributes based on the user's acceptance or rejection of commercials. Alternatively, the user may select a group that matches the user, and the profile may be set to match that group. [0066] The process 220 may first initialize attributes in the profile 206e by presenting a commercial, such as the commercial 202c, to the user 221. As shown by the down arrow next to the commercial profile 216c, the user 206e skips the commercial 202c.
  • a commercial such as the commercial 202c
  • the process 220 may initialize attributes as shown in a profile state 222.
  • the profile state 222 includes attribute values that are complements of the attribute values in the profile 216c(or negative values if a -1 to +1 range is used).
  • the process 220 may present the commercial 202b to the user. As shown in FIG. 2B, the user 221 accepts the commercial 202b.
  • the process 220 may then adjust the profile state 222 toward the attributes in the commercial profile 216b, as shown in an updated profile state 224.
  • the process 220 may use the reaction of the user 206e to determine a particular product that the user 221 is interested in. For example, because the user 221 accepts the commercial 202b, which is a movie commercial, the process 220 may profile that the user 221 is interested in movies as shown in the profile 224.
  • the process 220 may present the commercial 202a to the user
  • the process 220 may adjust the profile 206e by updating the profile 206e using a complement of the attribute values in the profile 216a.
  • the adjustments to the user's profile may then continue until the profile is reasonably certain (e.g., as determined statistically) or may continue continuously, as the user 221 accepts and rejects further commercials.
  • the user's profile may also be reset periodically to ensure that an inaccurately presumed profile does not stayed locked in for the user.
  • various out-of-profile items may be shown to the user 221 periodically so as to test the accuracy of the profile, e.g., if the user watches an out- of-profile item, then the profile may need to be changed.
  • FIG. 2C shows another exemplary process 240 for generating a user profile for a particular user.
  • the process is similar to that discussed above, but is shown in additional detail for further clarity.
  • five commercials 242a, 242b, 242c, 242d, 242e are presented to a user.
  • Each of the commercials 242a-e is associated with a profile.
  • the commercial 242a is associated with a profile 244.
  • the profile 244 includes various fields, such as a unique identification
  • the profile 244 may also contain more or fewer fields, or parameters, such as a single popularity score field.
  • a system such as video delivery system 100 may use the ID number to identify a commercial.
  • the format field may indicate a specific format of the item, such as a standard commercial or other kind of advertisement, such as a "squeeze" type advertisement (e.g., one that is shown on a portion of a display, such as while credits are rolling), a banner advertisement, or other types of advertisements.
  • a standard commercial or other kind of advertisement such as a "squeeze" type advertisement (e.g., one that is shown on a portion of a display, such as while credits are rolling), a banner advertisement, or other types of advertisements.
  • Programs to be aired around commercials may also have profiles that may use the same or different attributes as those for the viewers and the commercials. For example, programs may simply have attributes for gender and age, and those attributes may be used to infer other attributes about viewers of the programs (e.g., a male, 18-24 movie may have viewers who like "action"). Thus, commercials having an "action” attribute may be shown during such a movie (or commercials for the movie may be shown during other "action” videos), regardless of the profile of a viewer, or even if profiles of viewers are not stored or known.
  • the process 240 also includes a user with a profile 246 with a user ID
  • the profile 246 includes some demographic information of the user, such as income, age, and gender. This information may be obtained when the user registers for the video service or it may be discovered during the user profiling process (e.g., the process 220 or 240).
  • the user reactions are represented by faces 248, 250, 252, 254, 256.
  • a smiling face, such as the face 250, 252, 256 represents that the user watched a commercial.
  • An unhappy face, such as the face 248, 254, represents that the user skipped a commercial.
  • a commercial may be considered to have been watched if the entire media file for a commercial was played to the user, or if some substantial portion was played.
  • a commercial may be considered to have been skipped if only a small part of the commercial played, such as less than 5 seconds or less than even 20 seconds of a commercial, or if a preview of the commercial (such as a single frame) was shown and the commercial was skipped.
  • Such information may be obtained by tracking the streaming of a video feed or may also be stored on a device local to the viewer and reported back to a central system, like that shown in more detail below. Such reporting may occur independently as part of a billing operation for advertisers, so as to track the number of "impressions" of each advertisement.
  • the status of a commercial as skipped or watched may be defined by a legal agreement between a broadcaster and an advertiser (e.g., an advertiser refuses to pay unless an entire commercial is displayed to a user).
  • the process 240 may generate the user profile 246. For example, the process 240 may determine that the user prefers a standard 15 format commercial (e.g., a normal television commercial 15 seconds long) because the commercials 242b, 242c, 242e are standard 15 format, and the user watched them. The process 240 may determine that the user likes medium action commercials because the commercials 242b, 242c both have medium action, and the user watched them. The process 240 may determine that the user likes soft music commercials because the commercials 242c, 242e both have soft music, and the user watched them.
  • a standard 15 format commercial e.g., a normal television commercial 15 seconds long
  • the process 240 may determine that the user likes medium action commercials because the commercials 242b, 242c both have medium action, and the user watched them.
  • the process 240 may determine that the user likes soft music commercials because the commercials 242c, 242e both have soft music, and the user watched them.
  • the process 240 may determine that the user likes colorful commercials because the user watched all the bright-colored commercials 242b, 242c, and skipped commercials 242a, 242d with medium or dull color. Also, from what the user watches and skips, the process 240 may profile that the user prefers commercials about automotive and beverage, and does not like commercials of sports goods and low-end restaurants, or other similar vertical or semi-vertical categories.
  • FIG. 3 shows an exemplary timing diagram 300 that illustrates a timeline of a 30-minute television program.
  • the figure shows how the format of promotional items may be targeted for a user in addition to the style or content of the commercial.
  • a program is broken up to have certain commercial break periods evenly spaced through the program.
  • Such a system may be inflexible, in that it forces advertisers to produce commercials of a certain length (e.g., 15, 30, or 60 seconds) and forces viewers to watch that format of commercials.
  • broadcasters may simply be interested in obtaining a certain amount of advertising revenue from a program, and may be indifferent to how the advertising is delivered.
  • a broadcaster wishes to obtain $1 of advertising revenue from each viewer-showing of a one-hour drama (which might be less than 50 minutes because of the advertising breaks in a traditional advertising model). Perhaps many advertisers are willing to spend a nickel-per-viewer fee to run one of 20 commercials during the program. At the same time, perhaps one advertiser is willing to pay $1-per-viewer to have the viewer fill out a consumer survey and perhaps to provide additional information such as a mailing address. Certain users may be interested in taking 5-10 minutes to fill out such a survey before starting the program if it will allow them to watch the entire program uninterrupted and will prevent them from watching 10 minutes of commercials. As another alternative, the broadcaster may offer the users an option to pay $2 (such as through a micro-payment system, such as GBuy) to exchange for skipping all commercials.
  • $2 such as through a micro-payment system, such as GBuy
  • the timing diagram 300 shows how such a viewer may be provided with targeted promotional formats in addition to, or as an alternative to, targeted promotional styles.
  • the timing diagram 300 includes a timeline 302 that represents the length of the television program.
  • the un-shaded portion of the timeline 302 represents times at which the program will be broadcast.
  • the program is a 30-minute comedy program.
  • the shaded portions of the timeline 302 represent timings of traditional advertising slots 304. As shown, one advertising slot 304a begins at time 00:48 and ends at time 2:48. Another advertising slot 304b begins at time 12:00 and ends at time 14:00.
  • a third advertising slot 304c begins at time 20:00 and ends at time 21 :30
  • a fourth advertising slot 304d begins at time 29:30 and ends at time 30:30.
  • the slots in the figure represent a set of commercials after the introduction of the program, two commercials during the program, and a closing set of commercials before another program starts. The particular number and timing of such slots may vary.
  • a system may select, based on a user's profile, commercials to be presented to the user during the advertising slots 304a-d. The system may select commercials with formats and styles that align with the user's preferences, as discussed above.
  • a commercial may include a 30- second format, a 60-second format, and a 15-second format.
  • the system may present one of the formats during the advertising slots 304 in the television program. For example, because the user profile 246 indicates that a standard 15-second commercial is preferred, the system may, instead of selecting 30-second commercials, select 15-second commercials for presentation to the user.
  • the video delivery system 100 may also present advertisements while the television program is being shown.
  • the timing diagram 300 includes commercials 306 that are not in a standard format, to represent such advertisements.
  • a commercial 308a may be shown during a defined slot 306a as a fly-over form of commercial.
  • Such a commercial displays a small object that overlays on the television program for a period of time.
  • the defined slot 306a may be a specially defined period (with, e.g., a defined start and a defined maximum duration) for the program, so as to occur during a time in the program when the action is at an ebb so that the commercial will not unnecessarily distract from the program.
  • the program may be encoded with a signal that indicates when such a period is to begin and how long it is to last, so that fly-over advertisements may be selected and displayed by a system.
  • Commercial 308b may be a banner commercial that displays a banner of information (e.g., text, image, or both) at the bottom of a television display during a time slot 306b, for a period of time, such as in a static, animated, or scrolling display.
  • the start and duration of the time slot may be defined for the particular program, and may be stored in a file holding the program in the form of metadata that is accessible to the system.
  • Banner commercials or other displays such as Google web clip displays, that are out of the way for viewing and can be displayed while a program is being displayed, may be provided without an option for the user to skip them. For example, if a user skips a sufficient number of standard commercials, the user may simply be displayed advertisements at the edge of the screen like banner or scrolling advertisements. Such out-of-the-way advertisements may alternatively be accelerated or skipped, such as by a skip button, or by permitting a user to accelerate the scrolling of the advertisement.
  • Commercial 308c may be a "squeeze" commercial that displays a commercial at the bottom right corner of the display 308c during the end of the television program, such as while the credits are rolling.
  • a system may, for example, randomly select or determine from a user profile, times to present the non-standard commercials. For example, a system may determine that the user prefers a long period of squeeze commercials at the end of a television program than having long advertising slots. Then, the system may, for example, present a five minute long squeeze commercial at the end of the television program and present a relatively short advertising slots 304 within the program. (However, such as approach may encourage the user to abandon the program early.) [0083] The commercials presented in the advertising slots 304a-d take over the entire display of a television, rather than simply supplementing the program display as with the other formats. Therefore, the television program stops while the commercials are running.
  • a system may also present commercials in other ways. For example, a system may present a large advertising slot with a single commercial (e.g., a 4 minute mini-movie for a BMW car) at the beginning of a television program. In some implementations, the user may select to watch the long advertising slot and obtain a television program without being shown any more advertising slots 304 for the rest of the television program. [0084] As another example, depending on the user profile, a system may also insert, eliminate, or modify the scheduled advertising slots 304a-d. For example, a system may eliminate one or more of the advertising slots 304a-d from the timeline 302 when the user profile indicates that the user does not prefer standard commercials.
  • a system may eliminate one or more of the advertising slots 304a-d from the timeline 302 when the user profile indicates that the user does not prefer standard commercials.
  • the system may insert more non-standard commercials, such as the commercials 306a-c, in the television program.
  • a user profile may indicate that the user prefers longer advertising slots but with lower frequency.
  • the system may then lengthen, for example, the advertising slot 304a and 304c, and eliminate the advertising slot 304b for the user.
  • Such a video delivery system may flexibly select commercials that benefit advertisers by allowing the advertisers to better target their commercials. For example, the advertiser may better target their advertisements to the viewers by defining a profile that may indicate demographic data of target viewers.
  • a system operator such as a broadcaster, may also benefit by being able to deliver commercials to the right viewers, and to thereby obtain higher rates from advertisers.
  • a video delivery system may also help viewers to enhance their viewing experience by selecting commercials in a style and format that they more enjoy.
  • users may be allowed to skip particular commercials, but required to watch or accept a set number of commercials in order to watch a program.
  • the required number may be, for example, a set integer, such as 11 commercials or ad impressions (which may be a measure of the impact of an ad, so that a traditional commercial may have a higher impression number than does a banner advertisement).
  • the required number may correspond to a dollar amount of paid advertising, so that advertisements are displayed until the viewer has watched enough advertisements to create a set value of advertising revenue for a broadcast system.
  • Preference logs may also be stored by a system to permit post hoc analysis or handling of viewer actions.
  • a log may contain fields for an promotional item ID, a viewer ID, the time the item was displayed, a program ID representing the program the viewer was watching when the advertisement was displayed, and the amount of time the viewer spent watching the item (and/or a binary indicator of whether the user watched the item or not).
  • the preference logs may be analyzed, for example, to determine the popularity of a particular item (such as a fraction reflecting the number of times the item was accepted, divided by the number of times it was shown).
  • the item may be connected to the various profiles of viewers who were shown the item, and the item's profile may be affected by a system as a result.
  • the logs may also permit a system to analyze groups of reactions to promotional items for various purposes. For example, where a number of reactions at a particular computer indicate that the current viewer's profile is substantially different than a prior profile associated with the computer, a system may infer that a different person is using the computer, and may use preference logs to "step back" through the viewer's actions from the present session (e.g., by applying to the viewer's profile the inverse for all promotional items shown to the viewer during a session) so as to erase the effect that session has on the profile for the original viewer who used the computer. Similar analysis may be used to identify a particular viewer where a number of viewers regularly used the same viewing device.
  • FIGs. 4A-B show two exemplary systems that may implement the techniques described here.
  • FIG. 4A shows a system 400, such as a system that may be implemented using a personal video recorder or similar device that stores and selects programs and may also store promotional items.
  • FIG. 4B shows a system 402, such as a system that may be implemented using a standard desktop computer, that receives streaming video or similar video delivery, where programs and promotional items are stored at, and scheduled at, a central server or servers.
  • a system 400 is configured to deliver promotional items and programs to users.
  • the system 400 includes a central system 410, a network 418, a video selection device 420, and a television 428, or other sort of video monitor (such as a computer monitor).
  • the central system 410 may include a video server that transmits video and other data to the video selection device 420 via the network 418.
  • the central system 410 may be a video broadcasting system that transmits video to the video selection device 420 via a broadcasting network, such as a wired, wireless, or combined wired/wireless network.
  • the network 418 may include the internet, which the central system 410 may use to transmit video data streams or files to the video selection device 420.
  • the central system 410 may also include a profiles database 417, which may be used in appropriate circumstances to select promotional items to transmit to various users, and may also be accessed by the operator of the central system 410 or by others, such as advertisers (who may want to analyze demographic data about the system 400). Although shown as a single entity, central system 410 may include multiple devices, including devices at one location or at multiple locations. For example, profile database 417 may be housed at a central location, while video servers that are part of central system 410 may be distributed to many different locations in data centers that are configured to be closer to the end users, and to thereby minimize data traffic across a network. [0093] The system 400 also includes a computer 440 that is connected to the network 418.
  • the computer 440 may access data in the central system 410 and the video selection device 420 to, for example, perform analysis on the user' reactions, user profiles (such as by accessing profile database 417), and advertisement profiles.
  • the computer 440 may also be configured to display videos along with promotional items.
  • the video selection device 420 is shown as connected to the television
  • the video selection device 420 may be part of a television set or may be attached to a television set such as in the case of a personal video recorder (PVR), and may be a device installed in a personal computer or a software program in a computer. In addition, the video selection device 420 may be part of a personal digital assistant or a smartphone, among other such devices.
  • the central system 410 includes an interface 412, a promotion selector
  • the central system 410 may transmit promotions to the video selector 420 using the interface 412, and may also transmit programs in appropriate circumstances. For example, in an IPTV implementation, the central system 410 (whether implemented in a common server or a number of different servers) may transmit all components of a video stream to the video selector 420. Alternatively, programs may be transmitted by standard mechanisms such as satellite or over-the-air broadcast, and commercials or other promotional items may be sent to video selector 420 via network 418, for later insertion into the programs.
  • the promotion selector 414 may select promotions to be sent to the video selection device 420.
  • the central system 410 may respond to a request from the video selection device 420 for commercials.
  • the request may include for example, various parameters identifying the type of commercial needed - parameters that may be assigned to selection device 420 based on past actions by the user of selection device 420.
  • the requests may occur, for example, at a defined time before the selection device 420 will need to present the items to a user, or at a time when a program starts to be presented to the user.
  • the central system 410 may select and transmit one or more commercials such as in the form of a digital video file, to the video selection device 420.
  • the commercials may be selected by the central system 410 based on a profile associated with the selection device 420, or may, as shown in this figure, simply send a commercial that is currently being run by an advertiser and for which an advertiser will pay money.
  • the central system 410 may also make a selection of commercial based on the program the person is watching, but that is independent of the user's profile. In such a situation, the request may include one or more arguments identifying the program.
  • the promotion selector 414 may update promotional items (e.g., weekly or biweekly) such as commercials in the video selection device 420, by selecting a set of promotions and sending the set to the video selection device 420.
  • promotional items e.g., weekly or biweekly
  • the selection device 420 may store a relatively large number of promotional items, and may carry out the logic for selecting an appropriate item for a user.
  • the video selection device 420 includes a program scheduler 422, a video driver 424, and a programs and promotions database 426.
  • the program scheduler 422 determines whether a particular item is to be shown to a user, including programs and also promotions, such as commercials. For example, the program scheduler 422 may receive commands from the user to display a particular program. The program scheduler 422 may also track the appropriate locations identified in the program for presenting promotional materials. According to the program schedule and a user profile, the program scheduler 422 may select one or more commercials to be displayed to the user during the program.
  • the program scheduler may pass one or more parameters that help identify a desired profile for a promotion so that a viewer is shown only items that he or she prefers.
  • the program and promotions database 426 stores video files and similar items containing content for programs and for promotional items such as commercials.
  • the programs and promotions database 426 may be a non-removable hard disk storage.
  • the program scheduler 422 receives content from the programs and promotions database 426, which may store various files relating to programs and commercials, such as in wav format, mpeg format, or other appropriate formats.
  • the programs and promotion database 426 may also store metadata about those programs and promotions including, for example, how long the programs and promotions are, what the programs and promotions are about, user profiles for promotions, and so on.
  • the program scheduler 420 may use the video driver 424 to display the selected content on the television 428.
  • the system 400 may load most or all of the displayable content in the programs and promotions database 426.
  • a user may pause or rewind to repeat video content.
  • the program scheduler 422 may also allow a user to specify which programs to be retrieved from the central system 410 (or from programs and promotions database 426), by time, for example, by entering a program title, and/or by specifying combinations of genre, actors, directors, etc.
  • the program scheduler 422 may then select and retrieve the specified programs from the database 426 or from the central system 410.
  • the program scheduler 422 may also control the display of the program to a viewer.
  • the program scheduler 422 may also retrieve programs and promotions from the central system 410 based on stored user profiles. For programs, the scheduler may schedule recording sessions for programs, and generally waits for real-time commands from a user before playing recorded programs.
  • the video selection device 420 may store one or more user profiles, indicating the user's preference. For example, the video selection device 420 may obtain user preferences when a user rates a program favorably or unfavorably (e.g., by assigning number of apples to the program, where five stars being most favorable, and zero stars being least favorable). In another example, the video selection device 420 may generate a user profile based on a viewing habit of the user. In some implementations, such user profile may be an augmentation of the user profiles described with respect to FIGs. 2B and 2C. [00104] Based on a user profile, the program scheduler 422 or the central system 410 may determine which promotional items in the system 400 should be retrieved into the video selection system 420.
  • users may skip an item presented by the program scheduler 422.
  • the program scheduler 422 may select another commercial to be presented, and may update the user's profile, the skipped advertisement profile, or both.
  • the scheduler may also provide information to central system 410, so that, for example, the central system 410 may update a promotion item profile.
  • the scheduler 422 may also enforce a requirement that a certain number of commercials be watched, while letting a viewer skip as many commercials as is possible given the number of available commercials.
  • the program scheduler 422 may also place promotional items into or around television programs.
  • the program scheduler 422 may place promotional items in regular advertising slots (e.g., the advertising slots 304 in FIG. 3) and may place promotional items during the program (e.g., the non-standard advertisement 306 in FIG. 3).
  • program scheduler 422 may select an item and begin displaying it while pausing or otherwise affecting the display of the main program. By selecting from various formats of advertisement to be presented, the program scheduler 422 may thus determine and edit a program to display a selected advertisement.
  • another system 402 is configured to transmit video streams to viewers via a network.
  • the system 402 may be an Internet Protocol Television (IPTV) system that delivers video programs to viewers using the Internet Protocol (IP) over a broadband connection.
  • IPTV Internet Protocol Television
  • the system may transmit content in real-time as it is being watched by a viewer, such as in the form of a video stream.
  • system 402 is similar to system 400, but more of the content-selection responsibilities are borne by the central system 432 rather than by the local system 448.
  • the system 402 includes a central system 432, a network 446, and a local system 448.
  • the central system 432 may transmit via the network 446 encoded video data in the form of a video stream or other video transmission format to the local system 448, which may include a personal computer or similar device.
  • the system 402 also includes a video monitor 454 (which may be part of a computer system or a standard television) and a computer 456.
  • the local system 448 may display the received video data on the monitor 454.
  • the central system 432 includes an interface 434, a streaming video encoder 436, a program scheduler 438, a profiles database 440, a program video database 442, and a promotional video database 444.
  • the central system 432 may use the interface 434 to transmit video data to the remote system 448 via the network 446.
  • the streaming video encoder 436 loads programs and promotions from the program video database 442 and the promotional video database 444, respectively.
  • the streaming video encoder 436 may encode the video data into a specified streaming format.
  • the video streaming encoder 436 may encode the video data into different sizes or speeds suitable for an internet connection of a user.
  • IPTV may encode a video data stream in Moving Pictures Experts Group (MPEG) layer 2 Transport stream or in the MPEG4 H.264 format.
  • MPEG Moving Pictures Experts Group
  • the video streaming encoder 436 may also encode the video data into underlying protocols used for IPTV (e.g., IGMP version 2 for channel change signaling for live TV, RTSP for Video on Demand, etc.).
  • the video streaming encoder 436 may also place promotional videos into a program video according to the instruction from the program scheduler 438.
  • the program scheduler 438 receives profile data from the profiles database 440. Based on data in the profiles database 440, the program scheduler 438 may instruct the streaming video encoder 436 as to which programs and promotions are to be transmitted, and how and in what order and at what time, the programs and promotions are to be presented. For example, the program scheduler 438 may instruct the streaming video encoder 436 to load a car commercial in a banner format to be presented to the user at a particular point in a video currently being streamed to a user The streaming video encoder 436 may then superimpose the banner ad over or next to the video.
  • the local system 448 includes a processor 450 and a video driver 452.
  • the processor 450 may process (e.g., decode, decompress, etc.) the received video stream. Then, the processor 450 may send the processed video stream to the video driver 452 to be displayed in the television 454.
  • the processor 450 may be one or more of a general microprocessor (e.g., an Intel Pentium chip) and a specialized video processor, such as a processor situated on a video driver card.
  • the video may be stored on and accessed from memory such as volatile memory in the form of random access memory (RAM) on the local system 448.
  • RAM random access memory
  • the central system 432 may select items to be transmitted to the local system 448 depending on the user profile of the local system 448.
  • the local system 448 may include an identifier, such as an IP address or a web cookie, which identifies the user.
  • the central system 432 may respond by checking the identifiers of the local system 448.
  • the central system 432 may then identify the user of the local system 448 and may retrieve a user profile of the identified user from the profiles database 440. Using the retrieved user profile, the program scheduler 438 may determine, for example, styles, types, and/or formats that may be acceptable by the user.
  • the selection of appropriate items may also be based on a category such as a vertical category associated with the item, such as cosmetics, travel, investing, religion, etc. Such factors may also include the user's reaction to particular types of programming, such as the user skipping movie trailers on videos of one type but not skipping the same trailers on videos of another type.
  • the program scheduler 438 may select suitable promotions from the promotion video database 444 and the requested video from the program video database 442 using the streaming video recorder 436.
  • the streaming video encoder 436 may then encode the retrieved videos (including the promotion video and program video).
  • the program scheduler may also help ensure that the transmitted stream moves seamlessly from the program, to the commercials, and back to the program.
  • the streaming video encoder 436 may also mix the promotional video and the program video into one video data stream to be transmitted to the local system 448. Based on the type of the promotion, the streaming video encoder 436 can mix the promotion into the program in different ways. For example, the streaming video encoder 436 may overlay a promotional video on top of the program video.
  • the streaming video encoder 436 may display a banner item at the bottom of the program video.
  • the streaming video encoder 436 may also stop the streaming of the program and display one or more promotional videos (e.g., commercials) before resuming the program.
  • the streaming video encoder 436 may display a survey for the user to complete before starting the program, or may transfer control to another mechanism that presents the survey. If the user fills in the survey completely, the streaming video encoder 436 may then decrease the frequency of items to be displayed in the video data stream, or eliminate any further promotional items.
  • the streaming video encoder may pass control to a payment system that receives payment from a viewer and thereafter reduces or eliminates further display of promotional material.
  • FIG. 5 shows exemplary data for advertisement profiling.
  • An exemplary advertisement profile 500 includes one or more of several fields: a format field 502, an action field 504, a sound field 506, a color field 508, a style field 510, an age field 512, a gender field 514, and a product type field 516.
  • the fields may be selected to represent features that viewers perceive as desirable or undesirable in advertising.
  • the values in the fields are values that permit segmentation of viewers and the advertisements to be displayed to the viewers. As shown, most of the values are multiple choice, but ranges (e.g., from 1 to 10 or 1 to 100) may be used, such as for the "action" field.
  • the advertisement profile 500 may be associated with an advertisement.
  • the format field 502 includes format properties of an advertisement. As shown, the available properties in the format field 502 are standard 30 (representing a traditional 30-second commercial), standard 15 (representing a 15- second commercial), banner, fly over, squeeze, and interactive.
  • a commercial with the banner format is an advertisement with text and/or images that appears as a banner on the display (e.g., the commercial 306b in FIG. 3).
  • a commercial with the fly over format is a commercial that appears as a fly over image on the display (e.g., the commercial 306a in FIG. 3).
  • a commercial with the squeeze format is a commercial that appears in a portion of the display, reducing the size of the full display of the program (e.g., the commercial 306b in FIG. 3).
  • a commercial with the interactive format is an advertisement that requires user interaction to be completed (e.g., a survey). Other formats may also be included.
  • the action field 504 includes a high action property, a medium action property, and a low action property, each of which indicates a level of action that appears in a commercial.
  • the sound field 506 includes a high music property, a medium music property, and a low music property, each of which indicates a sound level of music (or other sound) that appears in a commercial.
  • the sound field 506 also includes a high voice property, a medium voice property, and a low voice property, each of which indicates a voice level of music appears in a commercial. For example, a commercial that enters with rock-and-roll music would likely be classified as "high music," while a commercial for an incontinence product would likely be classified a "low voice" sound level.
  • the color field 508 includes a bright property, a medium property, and a dull property, each of which indicates a color tone appears in a commercial.
  • the style field 510 includes an action property, a humor property, a romance property, and an informative property, each of which indicates a style in a commercial. For example, automotive commercials are often "action” commercials, while beer commercials are often "humor" commercials.
  • the age field 512 includes age properties of an advertisement that may indicate a target age group for the advertisement. As shown, the available properties in the format field 502 are a young child, a young teen, a old teen, a college, a 20s, a 30s, a 40s, a 50s, a 60s, and a 70+ categories.
  • the gender field 514 includes gender properties of an advertisement that may indicate a target gender for the advertisement.
  • the product type field 516 includes different product types of a item.
  • the product type field 516 may include autos, medicine, health-related products, high end food (e.g., organic food and steak), low end food (e.g., candy), high end restaurants (e.g., seafood and steak houses), low end restaurant (e.g., fast food restaurants), hygiene products (e.g., shampoo and toopaste), travel-related products (e.g., airlines, hotels, rental cars, etc.), shopping (e.g., Mall of America), beverages (e.g., beer and soda), and/or other product types, which may in certain circumstances be referenced as advertising verticals.
  • high end food e.g., organic food and steak
  • low end food e.g., candy
  • high end restaurants e.g., seafood and steak houses
  • low end restaurant e.g., fast food restaurants
  • hygiene products e.g., shampoo and toopaste
  • travel-related products e.g., airlines, hotels, rental cars, etc
  • the fields of the advertisement profile 500 may be completed and fixed by an advertiser, so that the advertiser may specify a targeted viewer group for the advertisement.
  • the advertisement profile 500 may include some modifiable fields that may be modified by the video delivering system 100.
  • the format field 502 and the product type field 516 may not be modifiable.
  • the other fields may be modifiable by the process 220.
  • a promotional item may be provided with a "time" field that defines the time period in which the program should be run.
  • the field may have a number of aspects. For example, it may define a start and end date for an advertising campaign, such as a Sunday-to-Sunday date for a weekly sale advertisement for an electronics store. It may also have a time-of-day aspect, such as by defining that the advertisement should be shown only during prime time viewing.
  • a field or a similar field may identify the programs during which the advertisement is to be shown, or the type of program during which it is to be shown (e.g., during sporting events only).
  • a video delivery system may categorize a item. For example, for the classic commercial "Fluffy Bun,” (which features a catch phrase "Where's the beef?"), the profile 500 may indicate that this commercial is a standard 30 commercial for a low end restaurant product with low action, high voice, and bright color in a humorous style.
  • the 1971 TV commercial featuring young people from around the world singing the song "I'd Like to Teach the World to Sing (In Perfect Harmony)" on a hilltop may be categorized by the profile 500 as a standard 30 commercial for a beverage product with medium music and bright color.
  • the profile may also indicate that the commercial is targeted to people in, for example, their teens and the 20s.
  • Certain fields may also contain no entry, indicating that the commercial is not aimed at any particular subset of the field, so that the field is not used in classifying the commercial.
  • Such profile data may also be used by a system to describe viewers, as discussed above. By matching the mode of profiling an advertisement with that of profiling a viewer, a match between advertisements and viewers may be more readily achieved. Also, programs may likewise be profiled, so that appropriate advertisements are selected in the first instance to be among the group of advertisements that may be presented to viewers during the program. In general, these techniques may permit specific and efficient targeting on a medium — televisions and display of programming that is similar to television (e.g., on-line videos) — that has traditionally had very little targeting.
  • FIG. 6 shows an exemplary method 600 for providing targeted video promotional material.
  • the method 600 may be performed by a processor in a client device (e.g., the local system 420) and/or a processor in an advertising server (e.g., the advertising server 410).
  • the method 600 may relate to an embodiment in which the client device may perform much of the processing for displaying a selected program, and the server device may respond to direct requests from the client device.
  • the method 600 begins in step 602 when the client device selects a program to be displayed.
  • the client device may receive a user selection by, for example, clicking a hyperlink or selecting a program from a digital TV menu.
  • the client device may transmit a request for the selected program to the server device.
  • the server may serve a program containing promotion points to the client in step 604.
  • the server device may set one or more two-minute blocks in the selected program during which four 30-second commercials may be shown.
  • the server device may determine times during the selected program that non-standard advertisements (e.g., banner advertisements or a fly over advertisements) may be shown.
  • non-standard advertisements e.g., banner advertisements or a fly over advertisements
  • program producers may identify times in a program that are appropriate for advertising. For example, the program producers may identify times when the viewer's full attention is not needed to follow the program. In some implementations, a flag may be associated with the program to mark those times. For example, the program scheduler 422 may identify these times and only display advertisement over the screen at these times.
  • the server may receive the request through the interface 412 and may retrieve the selected program from the video database 416. In other implementations, the server may transmit a command to the client that informs the client device where the promotion points should be inserted in the selected program. The start and end times for the promotions may be referenced as promotion points. [00132] Then, the client device displays, in step 606, the selected program.
  • the client device may use the video driver 424 to display the selected program on the display 428.
  • the client device selects a promotion and displays the selected promotion.
  • the client device may be displaying a program and may reach a promotion point in the program.
  • the client device may then select, based on a user profile (e.g., the user profile 246), a promotion to be displayed from the server device.
  • the program scheduler 422 may select a commercial from the program and promotion database 426.
  • a group of possible commercials may first be established by identifying the programs that advertisers identified for their commercials (if any) and matching a subset with the program the viewer is currently watching.
  • That sub-set of commercials may then have their profiles compared to a viewer's profile to determine which commercials to present to the viewer as a best match to the program and/or the user's interests.
  • the client device may also retrieve a promotion from the server device by transmitting a request to the server device.
  • the server device may then, in step 610, transmit the requested promotion to the client device.
  • the client device may transmit a request for more items when the client device determines that no suitable items are stored in the program and promotion database 426, according to the user profile.
  • the request from the client device may simply be for commercials in general (or commercials associated with a particular program), or may be a request for particular commercials or commercials having a particular profile.
  • the client device may have previously been given information about profiles for certain commercials, and may have conducted an analysis of the profiles against a local profile stored on the client relating to a user f the client device.
  • the client may transmit identifying information (such as an ID number or a list of profile values) for a user related with the client device, and a server system may use that information to match a user profile against available commercial profiles.
  • the client device determines whether the displayed promotion is viewed.
  • the client device may determine the proportion of the item that has been viewed. If the user has viewed the promotion longer than a threshold, (e.g., 25 seconds of a 30-second commercial or other length portion of the 30-second commercial), then the client device may determine that the displayed promotion has been viewed. If the client system determines that the promotion has been viewed, then the client device may, in step 614, adjust the user profile and/or the advertisement profile. For example, if the advertisement profile is not fixed, then the client device may adjust the advertisement profile based on the user reaction and the user profile (e.g., using a process similar to the process 200). The determination of whether a promotion has been viewed may also be made by a server device, such as when the system provides video using a streaming approach, and may also involve reporting the viewing of a commercial so that the advertiser may be properly billed.
  • a server device such as when the system provides video using a streaming approach, and may also involve reporting the viewing of a commercial so that the advertiser may be properly billed.
  • the client device may adjust the user profile based on the user reaction and the advertisement profile (e.g., using a process similar to the process 220).
  • the client device may determine whether a promotion session is done in step 616. If it is done, the system may return to showing the program (act 606) and if it is not, the system may show another promotion (608). For example, the client device may count the number of advertisement a user views. The system may allow a user to skip all of the promotions that they want to skip, but may also require the user to fully watch at least four promotions before the program will continue.
  • the system may require the user to follow activities that generate a certain amount of advertising revenue or advertising points (e.g., that may correspond directly or indirectly to advertising revenues) before the program will continue.
  • users can skip promotions they do not like, but cannot entirely skip watching some sort of promotion; as a result, broadcaster may be assured of obtaining some viewership of advertisements, and thereby increase potential advertising revenues.
  • the client system may, in step 618, determine whether a decline limit is met, e.g., because the user has skipped too many commercials. For example, when a user skips, for example, 20 standard commercials, the client device may determine that the user may not like standard commercials, and may switch formats (622) and adjust the user's profile accordingly (620).
  • advertisers may bid values for their commercials and the promotion limit of the user may be computed based on the bid value of the watched commercial. For example, some advertisers may bid a certain value to have their commercials shown to users in a certain demographic group.
  • the advertiser or the video delivery system may classify demographic groups from a viewer's profile. For example, an advertiser for the car Audi A3 may bid a value to the video delivery system to show viewers who are young and earn a certain income. Then the video delivery system may show the advertisement for the Audi A3 to viewers who earn, for example, around $50,000 - $70,000 a year, and are in the 20s and 30s, from their profiles.
  • viewers who watched commercials with high bid value may spend less time watching commercials than do viewers of lower bid value commercials.
  • a video delivery system may stop showing commercials to a viewer when the viewer has obtained a dollar of bid value for the broadcaster by watching commercials.
  • Advertisers may also submit different bids for commercials based on other factors about viewers, including the identity of the program during which a promotion is to be run.
  • the client system may, in step 624, report displayed promotions to the server device.
  • the server system may log displayed promotions in step 626. For example, the server may log the number of each promotion displayed and bill an advertiser based on the number of times that a promotion is displayed. Such reporting may occur at other appropriate times, and may occur immediately or via a preference log if a server system is streaming video programming and/or promotional items.
  • a system may also make determinations about whether a user is or is not watching a promotional item, as discussed above. For example, where no item of any kind is skipped during the viewing of a program, that may be an indication that a user has left the area. Also, if no activity occurs with respect to a display monitor (e.g., changing channels or typing on a keyboard) during a program or for an extended period after a program is shown, it may also be inferred that the user has left. In such a situation, changes to a profile that were made under the assumption that the user liked certain promotional items because the user watched them, may be reversed or prevented, because it is not fair to assume that the user even watched the items.
  • a display monitor e.g., changing channels or typing on a keyboard
  • a system may attempt to determine which user, from among a group of users with access to a video monitor, is the user watching a particular program. For example, some users may watch particular channels (e.g., ESPN and FOX Sports) while other viewers may watch other programming (e.g., Oxygen, Lifetime, HGTV), and viewership of a program associated with a particular user may cause a system to use that person's profile when selecting commercials.
  • a system may look to other patterns of activity by an unknown user, such as frequency of channel changing and other remote control manipulations. Members of a certain gender, for example, may be associated with such activity, so that high activity on a remote control may cause the system to apply a particular user's profile.
  • FIG. 7 is a screen shot of an exemplary video display with advertising.
  • the screen shot generally follows the form of the well-known Google Video service, with a video display area 710 providing the display of a streaming video file; and an information area 744 providing information about the video such as a title, a rating (1 to 5 stars), a short description, a number of tags, and the number of times the video has been displayed. Other controls, such as in the form of hyperlinks, are also provided.
  • a preview area 742 is also provided ,and shows other videos, such as videos similar to the video currently being displayed, that a viewer may select.
  • a single video frame from each video is shown, along with a title and a short description. In the figure, the frame and the title are hyperlinks whose selection will cause the related video to be displayed.
  • the preview area 742 may alternatively display promotional items that are to be displayed in the future. For example, the area 742 may toggle to such a display after a video has been displayed for a certain amount of time and an advertising break is coming up.
  • a search area 746 may also be provided, and may permit a viewer to enter search queries for videos or for other services, such as the various services (maps, images, web search, etc.) offered by Google.
  • Promotional area 720 may also be provided, and may serve as an area in which banner-like advertisements are displayed during the display of various videos. The advertisements may be selected to match the particular video, or to match the characteristics of the viewer, such as characteristics implied by the advertisements that the viewer watches and those that the viewer skips.
  • a control area 730 contains several controls for affecting the display of a video. For example, typical play, pause, stop buttons may be shown. Also a “progress meter” may also be provided to show how much time is left in a video, and optionally to show where particular promotional periods are scheduled to occur, so that a viewer can make a better decision about the format of promotional items to view or skip.
  • a "skip ad" control 740 is also shown, in the form of a hyperlink, to let a viewer skip a promotional item that is being displayed or is about to be displayed (e.g., as previewed in area 742). The skip ad control may advantageously provide a viewer with an extra level of control over the advertisements that the viewer will watch.
  • FIG. 8 is a schematic diagram of an example of a generic computer system 800.
  • the system 800 can be used for the operations described in association with the processes 200, 220, 240 and the method 600 according to one implementation.
  • the system 800 may be included in either or all of the video delivery system 100, the central system 410, the video selection device 420, the computer 440, the central system 436, the local system 448, and/or the computer 456.
  • the system 800 includes a processor 810, a memory 820, a storage device 830, and an input/output device 840. Each of the components 810, 820, 830, and 840 are interconnected using a system bus 850.
  • the processor 810 is capable of processing instructions for execution within the system 800. In one implementation, the processor 810 is a single-threaded processor. In another implementation, the processor 810 is a multi-threaded processor.
  • the processor 810 is capable of processing instructions stored in the memory 820 or on the storage device 830 to display graphical information for a user interface on the input/output device 840.
  • the memory 820 stores information within the system 800.
  • the memory 820 is a computer-readable medium.
  • the memory 820 is a volatile memory unit.
  • the memory 820 is a non-volatile memory unit.
  • the storage device 830 is capable of providing mass storage for the system 800.
  • the storage device 830 is a computer-readable medium.
  • the storage device 830 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device.
  • the input/output device 840 provides input/output operations for the system 800.
  • the input/output device 840 includes a keyboard and/or pointing device.
  • the input/output device 840 includes a display unit for displaying graphical user interfaces.
  • the features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
  • the apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output.
  • the described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
  • a computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result.
  • a computer program 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.
  • Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer.
  • 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 executing instructions and one or more memories for storing instructions and data.
  • a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks.
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
  • semiconductor memory devices such as EPROM, EEPROM, and flash memory devices
  • magnetic disks such as internal hard disks and removable disks
  • magneto-optical disks and CD-ROM and DVD-ROM disks.
  • the processor and the memory can be supplemented by, or incorporated in, ASICs (application- specific integrated circuits).
  • the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
  • a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
  • the features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them.
  • the components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet.
  • the computer system can include clients and servers.
  • a client and server are generally remote from each other and typically interact through a network, such as the described one. 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.

Abstract

A computer-implemented method of providing targeted video promotional material is disclosed. The method includes transmitting a promotional item for display on a video terminal, determining whether the promotional item was skipped, and updating a profile corresponding to the promotional item or a viewer of the promotional item based on whether or not the promotional item was skipped.

Description

Targeted Video Advertising
TECHNICAL FIELD [0001] The disclosed implementations are generally related to selection of promotional materials for presentation during a video broadcast, such as an internet protocol television broadcast.
BACKGROUND [0002] Television is often considered the greatest of the advertising mediums.
It has a vast audience. It can be a shared experience for many (e.g., leading to water cooler talk the day after a big show). And it permits a full range of advertisements, with sound, color, and motion. Thus, despite inroads from other forms of advertising, televisions advertising continues to lead many other advertising
forms by generated revenue. More recently, other forms of video distribution have been developed, including on-line video and internet protocol television (IPTV), that
provide experiences that share many of the elements of traditional television. [0003] Traditional television advertising has its problems, however. It is generally segmented only by channel and timing, so that advertisements are shown to a general audience that may include many disinterested viewers and fail to include many interested viewers watching other channels. Thus, for example, even people who have no interest in a particular prescription drug are shown an
advertisement for the drug if they are on the right channel at the right time. This is bad for the viewer because they may have to watch a commercial in which they are disinterested, it is bad for the advertisers because they get little to no benefit from such viewers, and it is bad for the broadcasters because advertisers will not want to pay more money if they are getting little to no additional benefit. i [0004] Also, for the most part, television advertising occurs via 15-second, 30-
second, or 1 -minute standard commercials at relatively set points during a program. For example, many programs start with a teaser, have several commercials, run for about 10 minutes, have another commercial break, and run about another 10
minutes before taking another commercial break. While these set breaks are good for people who want to snack or use the restroom, and they may capture the attention of some people, they might not be the most conducive way to get the advertising attention of other viewers.
SUMMARY [0005] This document describes techniques for providing targeted promotional material to viewers of a video system. In general, a viewer's interactions with particular advertisements may be monitored, such as the advertisements the user skips, and the system may then select other advertisements that are determined to be more like advertisements the user has watched and less like those the user has skipped. While commercial skipping is anathema to most television systems, it may be used as a positive feature of certain implementations disclosed here. [0006] In one implementation, a computer-implemented method of providing targeted video promotional material is disclosed. The method comprises transmitting a promotional item for display on a video terminal, determining whether
the promotional item was skipped, and updating a profile corresponding to the promotional item or a viewer of the promotional item based on whether or not the promotional item was skipped. [0007] The profile may be updated in some implementations if a portion of the commercial was displayed and a portion skipped. The method may also comprise determining an identity of a viewer of the video terminal. The profile may correspond to a commercial, and the profile may be updated to make the display of the commercial less likely to appear to viewers having characteristics like those of the viewer of the video terminal if the commercial is skipped. The promotional item may also be transmitted as part of a real-time streaming video broadcast. [0008] In some aspects, the method may further comprise transmitting a follow-up promotional item for display to replace a skipped promotional item. The method may also include transmitting commercials for display as a fixed-size time block, and transmitting a replacement commercial for each commercial in the block that is skipped. Moreover, the method may comprise associating one or more attributes with a promotional item, and changing one or more corresponding attributes for a user based on whether the promotional item is viewed or skipped. [0009] In another aspect, the method may comprise associating one or more attributes with a user, and changing one or more corresponding attributes for a promotional item based on whether the commercial is viewed or skipped. The profile of the various methods may corresponds to a viewer and be associated with a single session of a viewing device. Moreover, the method may also comprise transmitting a plurality of promotional items until a predetermined number of promotional items is not skipped, and limiting the number of times a promotional item can be displayed to a viewer.
[0010] In yet another aspect, the method may comprise associating a viewer- ranked rating with a promotional item and showing the rating to a viewer before or while displaying the promotional item. The method may also include determining when the promotional is skipped and associating the determination of when the promotional item is skipped with a score for the promotional item. In addition, the method may include selecting a promotional item for display by comparing a viewer profile to a profile for the promotional item, and updating the profile of the promotional item in an inverse relationship to the viewer profile if the promotional item is skipped.
[0011] In another example, a computer-implemented system for providing target video promotional material is disclosed. The system comprises a promotional item database storing promotional items to be displayed to a viewer of a video display system, a promotional item viewer monitor configured to report the occurrence of a skipping of a promotional item by a viewer, and a promotion profile generator that modifies a profile associated with the promotional item when the promotional item viewer monitor indicates that the item has been skipped. The promotional item viewer monitor may report that a promotional item has been skipped when a view watches less than a predetermined portion of the promotional item. Also, the promotional items can include a plurality of video commercials, and the promotion profile generator can modify the profile associated with the promotional item.
[0012] In yet another implementation, an electronic system for providing targeted video promotional material is disclosed. The system comprises a commercial database containing a plurality of commercials associated with one or more commercial parameters, an advertising server configured to select commercials for display on remote video terminals and to determine when commercials have been skipped in whole or in part, and means for updating a demographic profile corresponding to a user or a commercial based on commercial skipping activity of the user.
[0013] This and other implementations may be found in the description below.
Other implementations are contemplated, and may be implemented using the concepts discussed here.
DESCRIPTION OF DRAWINGS [0014] FIG. 1 is a conceptual diagram of a system to identify and select
promotional material for a viewer of a video program.
[0015] FIGs. 2A-C show exemplary processes that a video delivery system
may use to generate profiles for items and users.
[0016] FIG. 3 shows an exemplary timing diagram that illustrates a timeline of a 30-minute television program.
[0017] FIGs. 4A-B show two exemplary video delivery systems for selecting and presenting video programs and promotions.
[0018] FIG. 5 shows an exemplary advertising profile and some values for each fields in the profile.
[0019] FIG. 6 is a flow chart of an example of a method of operations for presenting a video program and item to a viewer of a video delivery system.
[0020] FIG. 7 is a screen shot of an exemplary video display with advertising.
[0021] Fig.8 is a schematic diagram of a general computer system.
[0022] Like reference symbols in the various drawings indicate like elements. DETAILED DESCRIPTION [0023] FIG. 1 is a conceptual diagram of a system 100 to identify and select promotional material for a viewer 104 of a video program. In general, the figure shows a queue of candidate commercials or other forms of promotional materials 102a-102d in line to be shown to a viewer 104 of a video monitor such as a television or computer, with the viewer 104 using a device like a remote control 110 to skip or otherwise reject, or to accept or view certain commercials. Based on the user's behavior with respect to the earlier commercials, e.g., watching or skipping them, the system may select advertisements in the queue, or advertisements to add to the queue to show the viewer. Generally, the selected advertisements will have one or more features in common with advertisements that the viewer 104 watched, and the rejected advertisements will have features unlike the advertisements that the viewer 104 watched and/or similar to those advertisements the viewer 104 skipped or otherwise disapproved of.
[0024] The exemplary video delivery system 100 may operate through video programs shown on a television, on a computer, on a television provided with a peripheral like a IPTV or cable box, or other appropriate structures. The delivered video may also take various forms, such as a streaming video, a stored program such as material on a personal video recorder, or material on various forms of volatile or non-volatile media. The material may also take the form of movies, television program, shorts, commercials, and other video programming (which may be accompanied by audio).
[0025] The video delivery system 100 includes promotional items 102a-d and
112-128, that may be in the form of standard video commercials, banner ads, float over ads (e.g., ads that are displayed over an running video image), or audio-only ads, among other formats. Based on some characteristics of the promotional items 102a-d and 112-128, the video delivery system 100 may select and present a particular item that may be targeted to viewer 104. The characteristics tracked by the video delivery system 100 may include, for example, a product or service type (e.g., a so-called vertical) being promoted (e.g., car, personal care product, pharmaceutical, insurance, investments, etc.), a genre or style of the advertising materials (e.g., informative, romantic, comedic, off-beat, action-packed, etc.), the visual impression of the item (e.g., bright/dark, loud/soft, high/low-energy, etc.), and/or other relevant attributes.
[0026] The items 102a-d and 112-128 in the depicted example are shown for illustration to have two relevant attributes: one attribute represented by shapes of the items 102a-d and 112-128, and another attribute represented by a number in the shapes. For example, the shape of an item may represent a promotional format, such as a banner ad, a survey, or a standard commercial of a particular length. The number in the item may represent a "style" of the ad, such as action, informative, or romantic. Thus, for example, a square with a number 1 in it may represent a 30- second commercial in an informative style, while a square with a number 4 in it may represent a 30-second commercial in an action style.
[0027] In some implementations, the system 100 may store data indicating reactions of the viewer 104 to promotional items shown to the viewer 104. Based on reactions, the video delivery system 100 generates a profile of the viewer 104 that may represent the preferences of the viewer 104 as inferred by the viewer's reaction to content and perhaps from explicit information provided by the viewer (e.g., age, gender, etc.). Then, the video delivery system 100 may select promotional items for the viewer 104 based on the generated viewer profile.
[0028] The conceptual representation of the video delivery system 100 shows an accept bin 106 and a discard bin 108. When the viewer 104 skips a promotional item, the item is shown as being placed in the discard bin 108 (via the path labeled "N") because it is inferred that the viewer 104 did not like the item. For example, the viewer 104 may use a remote control 110 (e.g., by selecting a "skip" button in the remote control 110) to skip a currently shown item. The system 100 may use various approaches to reflect the user's discard action, as discussed in more detail below, such as by modifying a profile of the user so that the characteristic stored for the user are driven away from characteristics associated with the rejected item. The user reaction may also be reflected in a non-personal, aggregated manner with other user reactions, such as to provide an item with a rating or popularity score, to be used in future decisions about displaying the item.
[0029] If the viewer 104 watches an item, the item is shown as being placed in the "accept" bin 106 (via the path labeled "Y"). And again, the system 100 may provide for mechanisms for reflecting the acceptance of an item by the viewer 104. Mechanisms for the video delivery system 100 to determine whether a item is watched or skipped are described in further details with reference to FIG. 6. [0030] For an exemplary system orientation, assume that a square in FIG. 1 represents a 30-second commercial, a hexagon represents a 15-second commercial, a triangle represents a user survey, and a circle represents a banner ad. Also, assume that a number 1 represents an informative ad, a number 2 represents a romantic ad, a number 3 represents a comedic ad, and a number 4 represents an action ad.
[0031] In the depicted example, the discard bin 108 includes two items 112,
114 with a format represented by a triangle (user survey) and a style represented by a number 1 (informative), an item 116 with a triangle (user survey) and number 2 (romantic), an item 118 with a circle (banner ad) and number 2 (romantic), and an item 120 with a circle (banner ad) and a number 3 (comedic). The accept bin 106 includes an item 122 with a square (30-second commercial) and a number 3 (comedic), an item 124 with a triangle (user survey) and a number 4 (action), an item 126 with a square (30-second commercial) and a number 4 (action), an item 128 with a hexagon (15-second commercial) and a number 2 (romantic). [0032] The video delivery system 100 selects items to display or play from candidate promotion items 102a-d based on the information derived from the earlier actions of the user. For example, from the limited data in the exemplary system, a determination may be made that viewer 104 likes commercials (squares and hexagons), likes action (number 4), and does not like informative ads (number 1 ). In a typical system, more data may be available so as to make more certain determinations about a viewer's preferences.
[0033] Using this information, the video delivery system 100 may accept certain items and not accept others for future display to the viewer 104. The selected items 102a, 102b that would be shown in the example are shown without "X's" over them, while the items 102c, 102d that would not be presented to the viewer 104 are shown with "X's" over them in the figure. The selection of items to display may occur in a number of manners, as described in more detail below. For example, items may simply be downloaded by a service to a viewer's television or computer, and selections may be made from such items being held in a queue, as shown conceptually in the figure. Alternatively, information about items, such as an item profile, may be analyzed before an item is transmitted to a viewer's video device so as to minimize the need for transmission bandwidth. In such a situation, there would not be a queue of items; rather, the queue is shown in FIG. 1 for conceptual purposes as an aid in better understanding the operation of the system. [0034] In the pictured example, item 102c has characteristics represented by a number 1 (informative) and a circle (banner ad), and has been by-passed because it is believed that viewer 104 does not like informative ads. Item 102d has characteristics represented by a number 1 (informative) and a triangle (user survey), again because the user does not like informative ads, and perhaps also because the user has a tendency biased away from surveys (as indicated by prior rejections of two surveys and acceptance of only one).
[0035] The video delivery system 100 may select item 102b to be presented because, for example, it has the same characteristics as an item 128 that was already accepted, and/or because its two characteristics, when combined, show a bias toward acceptance. In some instances, one factor alone may not be enough to accept or block an advertising material. For example, item 102a is set to be presented even though its format (circle = banner ad) shows up exclusively in reject bin 108, because its style (four = action) shows up exclusively in accept bin 106. [0036] In addition, certain items may be provided with an override indicator
(which could comprise setting all characteristics to a particular value such as zero) and may be presented to viewer 104 even regardless of the characteristics of the items. Such items may include, for example, national security announcements, promotions for other programs from a common broadcaster, and promotions for which an advertiser has paid a premium. The "forced" score for such items will require them to be shown at a particular time or with a particular frequency, apart from characteristics of a particular viewer or group of viewers. [0037] Also, although FIG.1 is relatively static of necessity, the entire system may be updated and otherwise affected during its operation. For example, when items 102a, 102b are provided to viewer 104, the viewer 104 may accept or reject them. For example, if viewer 104 rejects item 102a, the system may adjust a profile for viewer 104 so that it would be unlikely that the viewer 104 would be shown another banner ad, at least not for a certain time period (if the system permits for time-based decay of certain profile parameters so that a user is not locked into long- ago decisions, and also to ensure that improper inferences are not made by the system and locked in for a long time).
[0038] In addition, decisions about whether to present an item to viewer 104 may be made based on a mixture of many different parameters. In this manner, one factor may be prevented from overly affecting a presentation decision. In addition, use of additional parameters may permit certain parameter to "re-enter" a viewer's system if appropriate. For example, where a single parameter controls, a system may stop a user from seeing informative advertisements if the user coincidentally rejects a number of informative advertisements, even if the user rejected them for a different reason. Where multiple parameters are used, future informative ads might be allowed to "sneak" through by the system, and the user may choose to watch them, and the scoring for that parameter may subsequently be affected so more ads of a similar style are shown to the viewer.
[0039] Various other mechanisms for affecting the correlation between express and implied viewer preferences and characteristics of promotional items are described in more detail in the following figures.
[0040] Decisions about various promotional items may also be aggregated across multiple viewers, including across all or substantially all of the users of a video distribution service. For example, reactions to commercials, both positive (i.e., a viewer watched all or substantially all of the commercial) and negative (i.e., the viewer chose to skip all or part of the commercial) may be aggregated to provide a score or other type of ranking for a commercial. The score, in some embodiments, may be based on a level of match between a list of keywords associated with a viewer or with a program being viewed, and keywords associated with the commercial. For example, a beer advertiser may associate keywords like "beer," "football," "sports," and "comedy" with an advertisement. Video programs may likewise be associated with keywords, such as through a "tagging" process by which a submitter of the video or viewers of the video assign tags to the program. Advertisements may be selected to be shown during the program using such tags or keywords. In a like manner, a viewer may identify keywords that identify himself or herself, and/or certain keywords may be associated with a user by the system, such as keywords correlating to programs or advertisements that the viewer watches. [0041] The score may also be based in whole or in part on the number of times the commercial is watched when multiple commercials are presented to users for selection. Specifically, the score may relate to keywords associated with a commercial plus a "watch fraction," that measures the total number of times a commercial is watched for a particular keyword or other factor, divided by the total number of times all presented commercials are watched. The score may also be based on a comparison of times a commercial is watched divided by the number of times the commercial has been displayed as an option to users (i.e., using the number of "impressions" to compute a watched-divided-by-impressions fraction). Other various appropriate measures of popularity or suitability may also be employed.
[0042] The information about preferences may be collected for various viewing periods. For example, viewing data may be accumulated for a single session, such as by matching information to a session identifier. Such an identifier may be made anonymous but still obtain adequate information to make for a more enjoyable viewing session for a user. Alternatively, information may be accumulated across multiple sessions. Viewers may also be given an opportunity to select whether information will be accumulated for only a single session or for multiple sessions.
[0043] In addition, certain techniques may be used to prevent some promotional items from being shown to a user many times, for example, by frequency capping items. Repeated viewing of a single item is not good for the viewer or for the advertiser. Such an approach of limiting the frequency with which an item is shown may be particularly appropriate where the pool of relevant items is small. The level of capping may be dependent on the size of the relevant pool, so that capping occurs before the pool is empty, or so that previously rejected items may be preferred over accepted items that have already been displayed. The rejected item, from the pool of rejected items, that most closely matches items that have been accepted, may be the item shown to a user in such a situation. [0044] FIGs. 2A-C show exemplary processes that a video delivery system may use to generate profiles for promotional items and users. In FIGs. 2A and 2B, processes are shown by which a system can use the characteristics of a known entity to apply characteristics to an unknown entity — from users to promotional items, or from promotional items to users. Specifically, in FIG. 2A a new advertisement enters a system without any sort of profile, and is ultimately assigned a profile that matches the profiles of viewers who watch the advertisement, and that does not match the profiles of viewers who reject the advertisement. Thus, the characteristics of known viewers may be applied to unknown promotional items. In FIG. 2B, a new viewer for whom the system has little or no information is assigned a profile as the viewer accepts or rejects known promotional items. When a viewer or promotional item is too new for the system to have reasonable certainty about its profile, it may be given no profile and may otherwise be treated without respect to any profile; for example, a new commercial may be shown to users having all profiles.
[0045] Alternatively, a system may select particular viewers for a new item or particular items for a new viewer so as to more quickly produce a good profile. For example, a new item may be shown to viewers having a range of profiles, or to viewers having very extreme profiles — the former perhaps permitting a more accurate characterization, and the latter perhaps permitting a more rapid characterization. For example, some viewers may have profiles that indicate they never want to watch a informative commercial, but would instead watch only comedic ads, while other viewers may be just the opposite. Such viewers may be chosen for new commercials because their reactions with respect to the "style" of the commercial can be expected to be definitive, and thereby to permit ready classification or profiling of the commercial. Equally definitive viewers may be chosen for other parameters, so as to quickly profile an item across all parameters. [0046] FIG. 2A shows an exemplary process 200 that a system, such as video delivery system 100, may use to characterize unprofiled commercials. For example, an advertiser may provide an unprofiled commercial to the video delivery system 100 for presentation. In other examples, the video delivery system 100 may reset a profile of a commercial when, for example, the video delivery system 100 determines that the existing profile is inaccurate. The video delivery system 100 may follow the process 200 to assign attributes to parameters of commercials (or other promotional items).
[0047] In some implementations, the system 100 can assign attributes to commercials based on reactions given to the commercials by multiple users. In the depicted example, the process 200 includes three original commercials 202a, 202b, 202c that enter the system unprofiled, with no values assigned to their various profile parameters. In the depicted example, three parameters are shown — with two of the parameters depicted as slider bars, and one depicted as terms representing particular genres (such as in the form of keywords). The slider bars may represent a value, such as a value between 1 and 100 showing the commercial's similarity for a particular parameter. For example, one parameter may be "action," with low values representing that the commercial is perceived to have little action, and a high value representing that viewers perceive the commercial to have a high level of action. [0048] The second slider may represent the loudness, or volume, of the commercial. Although television volume generally is capped at some maximum value, some commercials may sound louder than others because they have a sustained volume near the maximum. Research may find that certain viewers have particular preferences for action and volume, and so these parameters may be assigned to commercials (and to viewers) to help match commercials to those preferences of viewers. For other attributes, the video delivery system 100 may assign discrete values (e.g., binary values or multiple choice values) to indicate an attribute. For example, a gender attribute would have only two values, while the final value shown in FIG. 2A shows multiple choice values. [0049] As would be understood, various other parameters may also be assigned. Also, in a relatively simple implementation, a viewer's preference for a particular item may be tracked, so that the item is not shown to the user again if the user rejects it (unless there are no other items to show to the user because the user has skipped everything). In such a situation, one could consider an item to have a single binary parameter for each user.
[0050] Certain parameters can also be defined or inferred from sources other than reactions by viewers to certain items. For example, a geography may be associated with a user, such as by an IP address for the user, and items may be selected using such information. For example, people from a certain area may be known to respond better to certain types of advertisements. Or, perhaps Dinty Moore wants to run advertisements for spicy chile in Dallas, and a corresponding advertisement for mild chile in Minneapolis. Such location information may also permit particular languages to be identified with an advertisement, or a language of a web browser or other program from which a video request is made may be used to select an advertisement. Also, it may be particularly helpful, in an internationalized system, to know the country from which a request occurs, as for example, Chevrolet would not want to run 1 /2-ton pick-up advertisements in France, Japan, or even England. Such parameters for commercials, which effectively define necessary delivery mechanisms for a advertisement, may be programmed to override parameters that reflect only viewer preferences.
[0051] Other parameters may be explicitly assigned by users, either to themselves or to items. For example, tags, comments, and ratings, all in their well- known on-line forms, may be applied to provide for richer classification of on-line videos and items. Such information (as aggregated from multiple users) may also be displayed along with an advertisement or with a preview (such as a frozen frame) of an advertisement. In this manner, a user could, for example, see a rating level (e.g., 1 to 5 stars) that other users have provided to an advertisement as the user first starts to view the advertisement or even before viewing the advertisement (e.g., where an incoming queue of advertisements is displayed for a user). A user may also identify themselves with a group that is in turn associated with a parameter such as ratings. For example, a teen may be interested in advertising ratings from other teens rather than from senior citizens (as may a senior citizen who is young at heart), and may thus identify themselves as a teen to be part of such a group. [0052] The items may also be provided with third-party ratings, such as the familiar movie rating system of G, PG, R, etc. Users or guardians of users may then select a rating level or maximum rating level for items to be displayed. Where no level is explicitly selected, a level may be inferred, such as with other parameters. [0053] Following the process 200, a video delivery system presents the unprofiled commercials 202a-c to multiple users of known profiles 206a-d, and collects those users' reactions so as to assign attribute values to the commercials 202a-c. In the depicted example, the process 200 can iteratively adjust the assigned attribute values. As shown, the user profiles 206a-d are known and accessible by the process 200. Each of the user profiles 206a-d is represented by slider bars 210 that indicate a value for the two top attributes characterizing the commercials 202a- c. Using the reactions of the users and the user profiles 206a-d, the process 200 may iteratively estimate the attribute values that approximate characteristics of the commercials 202a-c, by pushing the relevant attribute values away from values held by users who skip the commercials and toward values of users who watch the commercials. The amount that an attribute value is changed for a particular commercial may be a factor of how many times the commercial has been presented (with smaller changes in values when the commercial has been presented many times), how strong the preferences are for a viewer who accepted or rejected the commercial (e.g., how far from a middle value the viewer's value for an attribute is), and how far the viewer's value for an attribute is away from the commercial's value, among others.
[0054] One or more attributes, such as the topic of commercials 202a-c may be static. In the example, one commercial is about cars, another about movies (e.g., a movie trailer), and one about sports (e.g., a promotion for a playoff game). These attributes may be set by the advertisers or by others, and may be used to match the commercials 202a-c with viewers. The other attributes, such as those shown by the sliders, may also be pre-assigned so that a commercial has an initial profile. Those factors may also be set or may be allowed to change as viewers accept or skip the commercials.
[0055] In the process 200, the commercials 202a-c are shown entering the top of the figure without any attributes for particular parameters. Each commercial is shown stepping down the page after being shown to, and receiving a reaction from, one of four different viewers. As the commercials progress downward, they pick up the profiles of viewers who react positively, and they move away from the profiles of viewers who react negatively.
[0056] The commercials 202a-c may first be presented to a user associated with the user profile 206a. The user skips the commercials 202a, 202b, as shown by downward arrows 208a, 208b, respectively. However, the user accepts the commercial 202c as shown by an upward arrow 208c. Based on the user's reactions, the video delivery system 100 may then retrieve the user profile 206a or portions of the profile 206a and assign initial attributes to the commercials 202a-c. For example, the video delivery system 100 may initialize the attribute values in the profiles 204a-c as shown by updated profiles 212a, 212b, 212c. Because the user accepted the commercial 202c, the process 200 assigns the values for the user profile 206a to the commercial 202c. Because the user skipped the commercials 202a, 202b, the process 200 initially assigns the complement of the values in the user profile 206a. For example, a complement of an attribute value of 80 in a value range of 0-100 may be an attribute value 20.
[0057] In appropriate implementations, the scale for parameters can range between -1 and 1. For example, a user's preference for loudness may be graded between -1 (likes only quiet commercials) and 1 (likes only loud commercials). Then a profile parameter can be calculated for a commercial as a "weighted average" of user's profiles, where the weight is 1 if the user watched the commercial, and -1 if he skipped it. So if user A has 0.7 for loudness in his profile and he accepts a commercial, user B with 0.2 skips it, and user C with -0.5 skips it, the resulting loudness profile for the commercial would be (0.7*1 + 0.2*(-1 ) + (-0.5)*(-1 )) / 3 = 0.33. These weights may be adjusted in appropriate situations depending on how much of the commercial the user watches, e.g. -1 for "skipped immediately" vs. 1 for "watched entirely."
[0058] Next, the process 200 presents the commercials 202a-c to a user associated with the profile 206b, as shown by the profiles for the commercial moving downward through the figure. Based on the received reactions (indicated by up and down arrows), the process 200 may adjust the attributes in the profiles 212a-c. In some implementations, the process 200 may use a weighted function to adjust the attributes for the commercials 202a-c. For example, the process 200 may compute an adjustment value for an accepted commercial by first determining a difference between an attribute value in a user's profile and a present attribute value in a commercial profile, and then multiplying the difference with a step size. Also, the process 200 may compute an adjustment value for a skipped commercial by first determining a difference between a complement of an attribute value in a user's profile and a present attribute value in a commercial profile, and then multiplying the difference by a step size.
[0059] As indicated by the up and down arrows, the second viewer skips the commercials 202a, 202c but watches the commercial 202b. The process 200 may then adjust the profiles 212a-c to profiles 214a-c using the second viewer's profile 206b. In other implementations, the process 200 may store all received reactions associated with user profiles and generate a best-fit value for each of the attributes based on the stored reactions. For example, the process 200 may use an artificial neural network, a least square algorithm, or other fitting algorithms, to generate a best-fit value using the stored data. Also, a system may simply supply a rating to a commercial and increase the rating if the commercial is accepted, and lower the rating if it is rejected, without regard to viewer profiles.
[0060] The process 200 may then present the commercials 202a-c to a viewer associated with the profile 206c. As shown, the viewer skips commercials 202b, 202c but not commercial 202a. The process 200 may then adjust the profiles 214a- c to profiles 215a-c as shown. Similarly, the process 200 may present the commercials 202a-c to the viewer with profile 206d, and may update commercial profiles 216a, 216b, 216c, accordingly.
[0061] In some implementations, the process 200 may continue to adjust the profiles of the commercials 202a-c when the commercials are presented to other users. In other implementations, the system 100 may stop adjusting the profiles 202a-c when a fixed number of adjustments have been made. Also, although the commercials 202a-c are shown for clarity as being presented in the same order to the same viewers, the commercials may simply be deployed across a large number of viewers as devices associated with the viewers call for commercials. For example, a large number of viewers may be watching videos on their computers simultaneously, and a process associated with process 200 may be selected appropriate commercials to display for all of the various viewers. Of course, although commercials are used as an exemplary format here, various other forms of promotional items may also be selected and provided in similar manners. [0062] As noted above, advertisers may also provide their own profile for a commercial. The advertisers may either lock the profile of a commercial so that the profile cannot be changed, or may allow the profile to float. For example, an advertiser may produce a commercial that is targeted to a particular user group. By locking the profile of a commercial, the advertiser can target the commercial to reach a particular group of viewers. For example, the advertiser may assign a set of fixed attribute values, such as household income and age, to a commercial that demographically define a group of viewers. Also, an advertiser may select a program or group of programs during which a promotion is to air. For example, a pharmaceutical company may set a commercials profile so that it airs only during news programming or even only during 60 Minutes, while an advertiser of a convertible car may target only music programs or programs associate with a younger demographic.
[0063] In another example, an advertiser may produce a commercial with no particular target user group to be reached. For example, the advertiser may want the commercial to reach all possible users first and gradually focus on some users that may be more interested in the commercial. By letting the commercial's profile float, the commercial may reach all viewers and then be directed to the viewers who may be more interested in the commercial. During the profiling process 200, a commercial may develop a profile that enables the commercial to be viewed by users who are more likely to accept the commercial. [0064] FIG. 2B shows an exemplary process 220 for profiling a user based on reactions of the user to various profiled commercials. In the depicted example, the process 220 includes the commercial profiles 216a-c that were established in FIG. 1 A and relating to Commercials #1 , #2, and #3, and a user profile 206e of a new user 221. At the beginning of the process 220, the user's profile 206e may not have attributes assigned to it (or it may have attributes assigned to certain parameters and have other attributes left blank). For example, the user 221 may be a new user of the video delivery system 100. As another example, the user 221 may reset his/her profile because, for example, the user 221 is disappointed with the commercials the system is presenting. As another example, the broadcasting network may also reset the profile of the user 221 because, for example, the user 221 skips most of commercials selected according to the user's profile 206e. Alternatively, the information about preferences may be kept for only a single session, and may thus need t obe rebuilt with each session.
[0065] The user may also explicitly set some or all attributes associated with a profile. For example, the user may identify a gender and a birthdate or age, or may choose various products or topics for commercials that the user prefers, and may then allow the system to infer other attributes based on the user's acceptance or rejection of commercials. Alternatively, the user may select a group that matches the user, and the profile may be set to match that group. [0066] The process 220 may first initialize attributes in the profile 206e by presenting a commercial, such as the commercial 202c, to the user 221. As shown by the down arrow next to the commercial profile 216c, the user 206e skips the commercial 202c. Therefore, the process 220 may initialize attributes as shown in a profile state 222. The profile state 222 includes attribute values that are complements of the attribute values in the profile 216c(or negative values if a -1 to +1 range is used). Next, the process 220 may present the commercial 202b to the user. As shown in FIG. 2B, the user 221 accepts the commercial 202b. The process 220 may then adjust the profile state 222 toward the attributes in the commercial profile 216b, as shown in an updated profile state 224. [0067] Also, the process 220 may use the reaction of the user 206e to determine a particular product that the user 221 is interested in. For example, because the user 221 accepts the commercial 202b, which is a movie commercial, the process 220 may profile that the user 221 is interested in movies as shown in the profile 224.
[0068] Then, the process 220 may present the commercial 202a to the user
221. The user 221 skips the commercial 202a. In the depicted example, the process 220 may adjust the profile 206e by updating the profile 206e using a complement of the attribute values in the profile 216a. The adjustments to the user's profile may then continue until the profile is reasonably certain (e.g., as determined statistically) or may continue continuously, as the user 221 accepts and rejects further commercials. As noted above, the user's profile may also be reset periodically to ensure that an inaccurately presumed profile does not stayed locked in for the user. Also, various out-of-profile items may be shown to the user 221 periodically so as to test the accuracy of the profile, e.g., if the user watches an out- of-profile item, then the profile may need to be changed.
[0069] FIG. 2C shows another exemplary process 240 for generating a user profile for a particular user. The process is similar to that discussed above, but is shown in additional detail for further clarity. During the process 240, five commercials 242a, 242b, 242c, 242d, 242e are presented to a user. Each of the commercials 242a-e is associated with a profile. For example, the commercial 242a is associated with a profile 244.
[0070] The profile 244 includes various fields, such as a unique identification
(ID) number for the commercial, a format, an action, a sound, a color, a style, an age, a gender, and a type. The profile 244 may also contain more or fewer fields, or parameters, such as a single popularity score field. A system such as video delivery system 100 may use the ID number to identify a commercial. The format field may indicate a specific format of the item, such as a standard commercial or other kind of advertisement, such as a "squeeze" type advertisement (e.g., one that is shown on a portion of a display, such as while credits are rolling), a banner advertisement, or other types of advertisements. Some types of advertisement will be described with reference to FIG. 3 below. In the depicted example, the listed fields are the same between a commercial profile and a user profile, so it is easier to assign profiles to either a commercial or a user. In other implementations, the commercial profiles and the user profiles may also have some different fields.
[0071] Programs to be aired around commercials may also have profiles that may use the same or different attributes as those for the viewers and the commercials. For example, programs may simply have attributes for gender and age, and those attributes may be used to infer other attributes about viewers of the programs (e.g., a male, 18-24 movie may have viewers who like "action"). Thus, commercials having an "action" attribute may be shown during such a movie (or commercials for the movie may be shown during other "action" videos), regardless of the profile of a viewer, or even if profiles of viewers are not stored or known. [0072] The process 240 also includes a user with a profile 246 with a user ID
12613113. The profile 246 includes some demographic information of the user, such as income, age, and gender. This information may be obtained when the user registers for the video service or it may be discovered during the user profiling process (e.g., the process 220 or 240).
[0073] As shown in FIG. 2C, the user watched the five commercials 242a-e.
The user reactions are represented by faces 248, 250, 252, 254, 256. A smiling face, such as the face 250, 252, 256 represents that the user watched a commercial. An unhappy face, such as the face 248, 254, represents that the user skipped a commercial.
[0074] A commercial may be considered to have been watched if the entire media file for a commercial was played to the user, or if some substantial portion was played. A commercial may be considered to have been skipped if only a small part of the commercial played, such as less than 5 seconds or less than even 20 seconds of a commercial, or if a preview of the commercial (such as a single frame) was shown and the commercial was skipped. Such information may be obtained by tracking the streaming of a video feed or may also be stored on a device local to the viewer and reported back to a central system, like that shown in more detail below. Such reporting may occur independently as part of a billing operation for advertisers, so as to track the number of "impressions" of each advertisement. The status of a commercial as skipped or watched may be defined by a legal agreement between a broadcaster and an advertiser (e.g., an advertiser refuses to pay unless an entire commercial is displayed to a user).
[0075] Using the reactions information, the process 240 may generate the user profile 246. For example, the process 240 may determine that the user prefers a standard 15 format commercial (e.g., a normal television commercial 15 seconds long) because the commercials 242b, 242c, 242e are standard 15 format, and the user watched them. The process 240 may determine that the user likes medium action commercials because the commercials 242b, 242c both have medium action, and the user watched them. The process 240 may determine that the user likes soft music commercials because the commercials 242c, 242e both have soft music, and the user watched them. The process 240 may determine that the user likes colorful commercials because the user watched all the bright-colored commercials 242b, 242c, and skipped commercials 242a, 242d with medium or dull color. Also, from what the user watches and skips, the process 240 may profile that the user prefers commercials about automotive and beverage, and does not like commercials of sports goods and low-end restaurants, or other similar vertical or semi-vertical categories.
[0076] FIG. 3 shows an exemplary timing diagram 300 that illustrates a timeline of a 30-minute television program. In general, the figure shows how the format of promotional items may be targeted for a user in addition to the style or content of the commercial. Typically, a program is broken up to have certain commercial break periods evenly spaced through the program. Such a system may be inflexible, in that it forces advertisers to produce commercials of a certain length (e.g., 15, 30, or 60 seconds) and forces viewers to watch that format of commercials. However, broadcasters may simply be interested in obtaining a certain amount of advertising revenue from a program, and may be indifferent to how the advertising is delivered.
[0077] For example, assume that a broadcaster wishes to obtain $1 of advertising revenue from each viewer-showing of a one-hour drama (which might be less than 50 minutes because of the advertising breaks in a traditional advertising model). Perhaps many advertisers are willing to spend a nickel-per-viewer fee to run one of 20 commercials during the program. At the same time, perhaps one advertiser is willing to pay $1-per-viewer to have the viewer fill out a consumer survey and perhaps to provide additional information such as a mailing address. Certain users may be interested in taking 5-10 minutes to fill out such a survey before starting the program if it will allow them to watch the entire program uninterrupted and will prevent them from watching 10 minutes of commercials. As another alternative, the broadcaster may offer the users an option to pay $2 (such as through a micro-payment system, such as GBuy) to exchange for skipping all commercials.
[0078] The timing diagram 300 shows how such a viewer may be provided with targeted promotional formats in addition to, or as an alternative to, targeted promotional styles. The timing diagram 300 includes a timeline 302 that represents the length of the television program. The un-shaded portion of the timeline 302 represents times at which the program will be broadcast. In this example, the program is a 30-minute comedy program. The shaded portions of the timeline 302 represent timings of traditional advertising slots 304. As shown, one advertising slot 304a begins at time 00:48 and ends at time 2:48. Another advertising slot 304b begins at time 12:00 and ends at time 14:00. A third advertising slot 304c begins at time 20:00 and ends at time 21 :30, and a fourth advertising slot 304d begins at time 29:30 and ends at time 30:30. Viewers of the popular drama "24" will appreciate the location and timing of traditional advertising slots. The slots in the figure represent a set of commercials after the introduction of the program, two commercials during the program, and a closing set of commercials before another program starts. The particular number and timing of such slots may vary. [0079] For example, a system may select, based on a user's profile, commercials to be presented to the user during the advertising slots 304a-d. The system may select commercials with formats and styles that align with the user's preferences, as discussed above. For example, a commercial may include a 30- second format, a 60-second format, and a 15-second format. Depending on the preference indicated in the user's profile, the system may present one of the formats during the advertising slots 304 in the television program. For example, because the user profile 246 indicates that a standard 15-second commercial is preferred, the system may, instead of selecting 30-second commercials, select 15-second commercials for presentation to the user.
[0080] In some implementations, the video delivery system 100 may also present advertisements while the television program is being shown. The timing diagram 300 includes commercials 306 that are not in a standard format, to represent such advertisements. As shown, a commercial 308a may be shown during a defined slot 306a as a fly-over form of commercial. Such a commercial displays a small object that overlays on the television program for a period of time. The defined slot 306a may be a specially defined period (with, e.g., a defined start and a defined maximum duration) for the program, so as to occur during a time in the program when the action is at an ebb so that the commercial will not unnecessarily distract from the program. The program may be encoded with a signal that indicates when such a period is to begin and how long it is to last, so that fly-over advertisements may be selected and displayed by a system. [0081] Commercial 308b may be a banner commercial that displays a banner of information (e.g., text, image, or both) at the bottom of a television display during a time slot 306b, for a period of time, such as in a static, animated, or scrolling display. Again, the start and duration of the time slot may be defined for the particular program, and may be stored in a file holding the program in the form of metadata that is accessible to the system. Banner commercials or other displays, such as Google web clip displays, that are out of the way for viewing and can be displayed while a program is being displayed, may be provided without an option for the user to skip them. For example, if a user skips a sufficient number of standard commercials, the user may simply be displayed advertisements at the edge of the screen like banner or scrolling advertisements. Such out-of-the-way advertisements may alternatively be accelerated or skipped, such as by a skip button, or by permitting a user to accelerate the scrolling of the advertisement. [0082] Commercial 308c may be a "squeeze" commercial that displays a commercial at the bottom right corner of the display 308c during the end of the television program, such as while the credits are rolling. In some implementations, a system may, for example, randomly select or determine from a user profile, times to present the non-standard commercials. For example, a system may determine that the user prefers a long period of squeeze commercials at the end of a television program than having long advertising slots. Then, the system may, for example, present a five minute long squeeze commercial at the end of the television program and present a relatively short advertising slots 304 within the program. (However, such as approach may encourage the user to abandon the program early.) [0083] The commercials presented in the advertising slots 304a-d take over the entire display of a television, rather than simply supplementing the program display as with the other formats. Therefore, the television program stops while the commercials are running. In some implementations, a system may also present commercials in other ways. For example, a system may present a large advertising slot with a single commercial (e.g., a 4 minute mini-movie for a BMW car) at the beginning of a television program. In some implementations, the user may select to watch the long advertising slot and obtain a television program without being shown any more advertising slots 304 for the rest of the television program. [0084] As another example, depending on the user profile, a system may also insert, eliminate, or modify the scheduled advertising slots 304a-d. For example, a system may eliminate one or more of the advertising slots 304a-d from the timeline 302 when the user profile indicates that the user does not prefer standard commercials. Instead, the system may insert more non-standard commercials, such as the commercials 306a-c, in the television program. As another example, a user profile may indicate that the user prefers longer advertising slots but with lower frequency. The system may then lengthen, for example, the advertising slot 304a and 304c, and eliminate the advertising slot 304b for the user. [0085] Such a video delivery system may flexibly select commercials that benefit advertisers by allowing the advertisers to better target their commercials. For example, the advertiser may better target their advertisements to the viewers by defining a profile that may indicate demographic data of target viewers. A system operator, such as a broadcaster, may also benefit by being able to deliver commercials to the right viewers, and to thereby obtain higher rates from advertisers. A video delivery system may also help viewers to enhance their viewing experience by selecting commercials in a style and format that they more enjoy. [0086] In certain implementations, users may be allowed to skip particular commercials, but required to watch or accept a set number of commercials in order to watch a program. The required number may be, for example, a set integer, such as 11 commercials or ad impressions (which may be a measure of the impact of an ad, so that a traditional commercial may have a higher impression number than does a banner advertisement). Alternatively, the required number may correspond to a dollar amount of paid advertising, so that advertisements are displayed until the viewer has watched enough advertisements to create a set value of advertising revenue for a broadcast system.
[0087] Preference logs may also be stored by a system to permit post hoc analysis or handling of viewer actions. For example, a log may contain fields for an promotional item ID, a viewer ID, the time the item was displayed, a program ID representing the program the viewer was watching when the advertisement was displayed, and the amount of time the viewer spent watching the item (and/or a binary indicator of whether the user watched the item or not). The preference logs may be analyzed, for example, to determine the popularity of a particular item (such as a fraction reflecting the number of times the item was accepted, divided by the number of times it was shown). In more complex scenarios, the item may be connected to the various profiles of viewers who were shown the item, and the item's profile may be affected by a system as a result.
[0088] The logs may also permit a system to analyze groups of reactions to promotional items for various purposes. For example, where a number of reactions at a particular computer indicate that the current viewer's profile is substantially different than a prior profile associated with the computer, a system may infer that a different person is using the computer, and may use preference logs to "step back" through the viewer's actions from the present session (e.g., by applying to the viewer's profile the inverse for all promotional items shown to the viewer during a session) so as to erase the effect that session has on the profile for the original viewer who used the computer. Similar analysis may be used to identify a particular viewer where a number of viewers regularly used the same viewing device. [0089] Likewise, when a number of items have been viewed with no rejections, a system may infer that the viewer has either left the room or is not paying attention. I such a situation, the viewer's acceptance of items may not reflect accurately on the viewer's preferences, and preference logs may be used to step back through a session and remove the effects of the session on the viewer's profile. [0090] FIGs. 4A-B show two exemplary systems that may implement the techniques described here. In general, FIG. 4A shows a system 400, such as a system that may be implemented using a personal video recorder or similar device that stores and selects programs and may also store promotional items. FIG. 4B shows a system 402, such as a system that may be implemented using a standard desktop computer, that receives streaming video or similar video delivery, where programs and promotional items are stored at, and scheduled at, a central server or servers.
[0091] As shown in FIG. 4A, a system 400 is configured to deliver promotional items and programs to users. The system 400 includes a central system 410, a network 418, a video selection device 420, and a television 428, or other sort of video monitor (such as a computer monitor). The central system 410 may include a video server that transmits video and other data to the video selection device 420 via the network 418. For example, the central system 410 may be a video broadcasting system that transmits video to the video selection device 420 via a broadcasting network, such as a wired, wireless, or combined wired/wireless network. In another example, the network 418 may include the internet, which the central system 410 may use to transmit video data streams or files to the video selection device 420. [0092] The central system 410 may also include a profiles database 417, which may be used in appropriate circumstances to select promotional items to transmit to various users, and may also be accessed by the operator of the central system 410 or by others, such as advertisers (who may want to analyze demographic data about the system 400). Although shown as a single entity, central system 410 may include multiple devices, including devices at one location or at multiple locations. For example, profile database 417 may be housed at a central location, while video servers that are part of central system 410 may be distributed to many different locations in data centers that are configured to be closer to the end users, and to thereby minimize data traffic across a network. [0093] The system 400 also includes a computer 440 that is connected to the network 418. In some implementations, the computer 440 may access data in the central system 410 and the video selection device 420 to, for example, perform analysis on the user' reactions, user profiles (such as by accessing profile database 417), and advertisement profiles. The computer 440 may also be configured to display videos along with promotional items.
[0094] The video selection device 420 is shown as connected to the television
428. The video selection device 420 may be part of a television set or may be attached to a television set such as in the case of a personal video recorder (PVR), and may be a device installed in a personal computer or a software program in a computer. In addition, the video selection device 420 may be part of a personal digital assistant or a smartphone, among other such devices. [0095] The central system 410 includes an interface 412, a promotion selector
414, and a promotion database 416. The central system 410 may transmit promotions to the video selector 420 using the interface 412, and may also transmit programs in appropriate circumstances. For example, in an IPTV implementation, the central system 410 (whether implemented in a common server or a number of different servers) may transmit all components of a video stream to the video selector 420. Alternatively, programs may be transmitted by standard mechanisms such as satellite or over-the-air broadcast, and commercials or other promotional items may be sent to video selector 420 via network 418, for later insertion into the programs.
[0096] In some implementations, the promotion selector 414 may select promotions to be sent to the video selection device 420. For example, the central system 410 may respond to a request from the video selection device 420 for commercials. The request may include for example, various parameters identifying the type of commercial needed - parameters that may be assigned to selection device 420 based on past actions by the user of selection device 420. The requests may occur, for example, at a defined time before the selection device 420 will need to present the items to a user, or at a time when a program starts to be presented to the user.
[0097] The central system 410 may select and transmit one or more commercials such as in the form of a digital video file, to the video selection device 420. The commercials may be selected by the central system 410 based on a profile associated with the selection device 420, or may, as shown in this figure, simply send a commercial that is currently being run by an advertiser and for which an advertiser will pay money. The central system 410 may also make a selection of commercial based on the program the person is watching, but that is independent of the user's profile. In such a situation, the request may include one or more arguments identifying the program.
[0098] In another example, the promotion selector 414 may update promotional items (e.g., weekly or biweekly) such as commercials in the video selection device 420, by selecting a set of promotions and sending the set to the video selection device 420. Specifically, the selection device 420 may store a relatively large number of promotional items, and may carry out the logic for selecting an appropriate item for a user.
[0099] The video selection device 420 includes a program scheduler 422, a video driver 424, and a programs and promotions database 426. The program scheduler 422 determines whether a particular item is to be shown to a user, including programs and also promotions, such as commercials. For example, the program scheduler 422 may receive commands from the user to display a particular program. The program scheduler 422 may also track the appropriate locations identified in the program for presenting promotional materials. According to the program schedule and a user profile, the program scheduler 422 may select one or more commercials to be displayed to the user during the program. The program scheduler may pass one or more parameters that help identify a desired profile for a promotion so that a viewer is shown only items that he or she prefers. [00100] The program and promotions database 426 stores video files and similar items containing content for programs and for promotional items such as commercials. In some implementations, the programs and promotions database 426 may be a non-removable hard disk storage. The program scheduler 422 receives content from the programs and promotions database 426, which may store various files relating to programs and commercials, such as in wav format, mpeg format, or other appropriate formats. The programs and promotion database 426 may also store metadata about those programs and promotions including, for example, how long the programs and promotions are, what the programs and promotions are about, user profiles for promotions, and so on. After selection, the program scheduler 420 may use the video driver 424 to display the selected content on the television 428.
[00101] In operation, the system 400 may load most or all of the displayable content in the programs and promotions database 426. Using the program scheduler 422 and the programs and promotions database 426, a user may pause or rewind to repeat video content. In some implementations, the program scheduler 422 may also allow a user to specify which programs to be retrieved from the central system 410 (or from programs and promotions database 426), by time, for example, by entering a program title, and/or by specifying combinations of genre, actors, directors, etc. The program scheduler 422 may then select and retrieve the specified programs from the database 426 or from the central system 410. In addition to scheduling the retrieval of a program, the program scheduler 422 may also control the display of the program to a viewer. [00102] The program scheduler 422 may also retrieve programs and promotions from the central system 410 based on stored user profiles. For programs, the scheduler may schedule recording sessions for programs, and generally waits for real-time commands from a user before playing recorded programs.
[00103] The video selection device 420 may store one or more user profiles, indicating the user's preference. For example, the video selection device 420 may obtain user preferences when a user rates a program favorably or unfavorably (e.g., by assigning number of apples to the program, where five stars being most favorable, and zero stars being least favorable). In another example, the video selection device 420 may generate a user profile based on a viewing habit of the user. In some implementations, such user profile may be an augmentation of the user profiles described with respect to FIGs. 2B and 2C. [00104] Based on a user profile, the program scheduler 422 or the central system 410 may determine which promotional items in the system 400 should be retrieved into the video selection system 420. Additionally, users may skip an item presented by the program scheduler 422. When a commercial or other item is skipped, the program scheduler 422 may select another commercial to be presented, and may update the user's profile, the skipped advertisement profile, or both. The scheduler may also provide information to central system 410, so that, for example, the central system 410 may update a promotion item profile. The scheduler 422 may also enforce a requirement that a certain number of commercials be watched, while letting a viewer skip as many commercials as is possible given the number of available commercials.
[00105] The program scheduler 422 may also place promotional items into or around television programs. For example, the program scheduler 422 may place promotional items in regular advertising slots (e.g., the advertising slots 304 in FIG. 3) and may place promotional items during the program (e.g., the non-standard advertisement 306 in FIG. 3). For example, when a flag or other indicator in a video file of a program is triggered to indicate that a promotional item needs to be displayed at that point, program scheduler 422 may select an item and begin displaying it while pausing or otherwise affecting the display of the main program. By selecting from various formats of advertisement to be presented, the program scheduler 422 may thus determine and edit a program to display a selected advertisement.
[00106] As shown in FIG. 4B, another system 402 is configured to transmit video streams to viewers via a network. For example, the system 402 may be an Internet Protocol Television (IPTV) system that delivers video programs to viewers using the Internet Protocol (IP) over a broadband connection. The system may transmit content in real-time as it is being watched by a viewer, such as in the form of a video stream. In general, system 402 is similar to system 400, but more of the content-selection responsibilities are borne by the central system 432 rather than by the local system 448.
[00107] The system 402 includes a central system 432, a network 446, and a local system 448. The central system 432 may transmit via the network 446 encoded video data in the form of a video stream or other video transmission format to the local system 448, which may include a personal computer or similar device. The system 402 also includes a video monitor 454 (which may be part of a computer system or a standard television) and a computer 456. The local system 448 may display the received video data on the monitor 454.
[00108] The central system 432 includes an interface 434, a streaming video encoder 436, a program scheduler 438, a profiles database 440, a program video database 442, and a promotional video database 444. The central system 432 may use the interface 434 to transmit video data to the remote system 448 via the network 446. The streaming video encoder 436 loads programs and promotions from the program video database 442 and the promotional video database 444, respectively.
[00109] In some implementations, the streaming video encoder 436 may encode the video data into a specified streaming format. The video streaming encoder 436 may encode the video data into different sizes or speeds suitable for an internet connection of a user. For example, IPTV may encode a video data stream in Moving Pictures Experts Group (MPEG) layer 2 Transport stream or in the MPEG4 H.264 format. For some IPTV systems, the video streaming encoder 436 may also encode the video data into underlying protocols used for IPTV (e.g., IGMP version 2 for channel change signaling for live TV, RTSP for Video on Demand, etc.).
[00110] The video streaming encoder 436 may also place promotional videos into a program video according to the instruction from the program scheduler 438. The program scheduler 438 receives profile data from the profiles database 440. Based on data in the profiles database 440, the program scheduler 438 may instruct the streaming video encoder 436 as to which programs and promotions are to be transmitted, and how and in what order and at what time, the programs and promotions are to be presented. For example, the program scheduler 438 may instruct the streaming video encoder 436 to load a car commercial in a banner format to be presented to the user at a particular point in a video currently being streamed to a user The streaming video encoder 436 may then superimpose the banner ad over or next to the video.
[00111] The local system 448 includes a processor 450 and a video driver 452. The processor 450 may process (e.g., decode, decompress, etc.) the received video stream. Then, the processor 450 may send the processed video stream to the video driver 452 to be displayed in the television 454. The processor 450 may be one or more of a general microprocessor (e.g., an Intel Pentium chip) and a specialized video processor, such as a processor situated on a video driver card. The video may be stored on and accessed from memory such as volatile memory in the form of random access memory (RAM) on the local system 448.
[00112] The central system 432 may select items to be transmitted to the local system 448 depending on the user profile of the local system 448. In some implementations, the local system 448 may include an identifier, such as an IP address or a web cookie, which identifies the user. For example, when the central system 432 receives a request from the local system 448 for video data, the central system 432 may respond by checking the identifiers of the local system 448. The central system 432 may then identify the user of the local system 448 and may retrieve a user profile of the identified user from the profiles database 440. Using the retrieved user profile, the program scheduler 438 may determine, for example, styles, types, and/or formats that may be acceptable by the user. [00113] The selection of appropriate items may also be based on a category such as a vertical category associated with the item, such as cosmetics, travel, investing, religion, etc. Such factors may also include the user's reaction to particular types of programming, such as the user skipping movie trailers on videos of one type but not skipping the same trailers on videos of another type. [00114] In some implementations, the program scheduler 438 may select suitable promotions from the promotion video database 444 and the requested video from the program video database 442 using the streaming video recorder 436. The streaming video encoder 436 may then encode the retrieved videos (including the promotion video and program video). The program scheduler may also help ensure that the transmitted stream moves seamlessly from the program, to the commercials, and back to the program.
[00115] In the encoding process, the streaming video encoder 436 may also mix the promotional video and the program video into one video data stream to be transmitted to the local system 448. Based on the type of the promotion, the streaming video encoder 436 can mix the promotion into the program in different ways. For example, the streaming video encoder 436 may overlay a promotional video on top of the program video.
[00116] In another example, the streaming video encoder 436 may display a banner item at the bottom of the program video. In another example, the streaming video encoder 436 may also stop the streaming of the program and display one or more promotional videos (e.g., commercials) before resuming the program. In another example, the streaming video encoder 436 may display a survey for the user to complete before starting the program, or may transfer control to another mechanism that presents the survey. If the user fills in the survey completely, the streaming video encoder 436 may then decrease the frequency of items to be displayed in the video data stream, or eliminate any further promotional items. In a similar manner, the streaming video encoder may pass control to a payment system that receives payment from a viewer and thereafter reduces or eliminates further display of promotional material. In addition, selection of promotional items by a viewer can redirect the viewer, for example, to a web site associated with an advertiser while pausing or continuing to play a program. [00117] FIG. 5 shows exemplary data for advertisement profiling. An exemplary advertisement profile 500 includes one or more of several fields: a format field 502, an action field 504, a sound field 506, a color field 508, a style field 510, an age field 512, a gender field 514, and a product type field 516. The fields may be selected to represent features that viewers perceive as desirable or undesirable in advertising. The values in the fields are values that permit segmentation of viewers and the advertisements to be displayed to the viewers. As shown, most of the values are multiple choice, but ranges (e.g., from 1 to 10 or 1 to 100) may be used, such as for the "action" field. In some implementations, the advertisement profile 500 may be associated with an advertisement.
[00118] The format field 502 includes format properties of an advertisement. As shown, the available properties in the format field 502 are standard 30 (representing a traditional 30-second commercial), standard 15 (representing a 15- second commercial), banner, fly over, squeeze, and interactive. A commercial with the banner format is an advertisement with text and/or images that appears as a banner on the display (e.g., the commercial 306b in FIG. 3). A commercial with the fly over format is a commercial that appears as a fly over image on the display (e.g., the commercial 306a in FIG. 3). A commercial with the squeeze format is a commercial that appears in a portion of the display, reducing the size of the full display of the program (e.g., the commercial 306b in FIG. 3). A commercial with the interactive format is an advertisement that requires user interaction to be completed (e.g., a survey). Other formats may also be included.
[00119] The action field 504 includes a high action property, a medium action property, and a low action property, each of which indicates a level of action that appears in a commercial. For example, automotive commercials typically have high action, while pharmaceutical commercials typically have low action. [00120] The sound field 506 includes a high music property, a medium music property, and a low music property, each of which indicates a sound level of music (or other sound) that appears in a commercial. The sound field 506 also includes a high voice property, a medium voice property, and a low voice property, each of which indicates a voice level of music appears in a commercial. For example, a commercial that enters with rock-and-roll music would likely be classified as "high music," while a commercial for an incontinence product would likely be classified a "low voice" sound level.
[00121] The color field 508 includes a bright property, a medium property, and a dull property, each of which indicates a color tone appears in a commercial. The style field 510 includes an action property, a humor property, a romance property, and an informative property, each of which indicates a style in a commercial. For example, automotive commercials are often "action" commercials, while beer commercials are often "humor" commercials.
[00122] The age field 512 includes age properties of an advertisement that may indicate a target age group for the advertisement. As shown, the available properties in the format field 502 are a young child, a young teen, a old teen, a college, a 20s, a 30s, a 40s, a 50s, a 60s, and a 70+ categories. The gender field 514 includes gender properties of an advertisement that may indicate a target gender for the advertisement.
[00123] The product type field 516 includes different product types of a item. For example, the product type field 516 may include autos, medicine, health-related products, high end food (e.g., organic food and steak), low end food (e.g., candy), high end restaurants (e.g., seafood and steak houses), low end restaurant (e.g., fast food restaurants), hygiene products (e.g., shampoo and toopaste), travel-related products (e.g., airlines, hotels, rental cars, etc.), shopping (e.g., Mall of America), beverages (e.g., beer and soda), and/or other product types, which may in certain circumstances be referenced as advertising verticals.
[00124] In some implementations, the fields of the advertisement profile 500 may be completed and fixed by an advertiser, so that the advertiser may specify a targeted viewer group for the advertisement. In other implementations, the advertisement profile 500 may include some modifiable fields that may be modified by the video delivering system 100. For example, the format field 502 and the product type field 516 may not be modifiable. However, the other fields may be modifiable by the process 220.
[00125] In addition, a promotional item may be provided with a "time" field that defines the time period in which the program should be run. The field may have a number of aspects. For example, it may define a start and end date for an advertising campaign, such as a Sunday-to-Sunday date for a weekly sale advertisement for an electronics store. It may also have a time-of-day aspect, such as by defining that the advertisement should be shown only during prime time viewing. In addition, such a field or a similar field may identify the programs during which the advertisement is to be shown, or the type of program during which it is to be shown (e.g., during sporting events only).
[00126] Using the fields in the profile 500, a video delivery system may categorize a item. For example, for the classic commercial "Fluffy Bun," (which features a catch phrase "Where's the beef?"), the profile 500 may indicate that this commercial is a standard 30 commercial for a low end restaurant product with low action, high voice, and bright color in a humorous style. In another example, the 1971 TV commercial featuring young people from around the world singing the song "I'd Like to Teach the World to Sing (In Perfect Harmony)" on a hilltop may be categorized by the profile 500 as a standard 30 commercial for a beverage product with medium music and bright color. The profile may also indicate that the commercial is targeted to people in, for example, their teens and the 20s. Certain fields may also contain no entry, indicating that the commercial is not aimed at any particular subset of the field, so that the field is not used in classifying the commercial.
[00127] Such profile data may also be used by a system to describe viewers, as discussed above. By matching the mode of profiling an advertisement with that of profiling a viewer, a match between advertisements and viewers may be more readily achieved. Also, programs may likewise be profiled, so that appropriate advertisements are selected in the first instance to be among the group of advertisements that may be presented to viewers during the program. In general, these techniques may permit specific and efficient targeting on a medium — televisions and display of programming that is similar to television (e.g., on-line videos) — that has traditionally had very little targeting.
[00128] FIG. 6 shows an exemplary method 600 for providing targeted video promotional material. The method 600 may be performed by a processor in a client device (e.g., the local system 420) and/or a processor in an advertising server (e.g., the advertising server 410). For example, the method 600 may relate to an embodiment in which the client device may perform much of the processing for displaying a selected program, and the server device may respond to direct requests from the client device.
[00129] The method 600 begins in step 602 when the client device selects a program to be displayed. For example, the client device may receive a user selection by, for example, clicking a hyperlink or selecting a program from a digital TV menu. As shown, the client device may transmit a request for the selected program to the server device. [00130] After receiving the request, the server may serve a program containing promotion points to the client in step 604. For example, the server device may set one or more two-minute blocks in the selected program during which four 30-second commercials may be shown. In another example, the server device may determine times during the selected program that non-standard advertisements (e.g., banner advertisements or a fly over advertisements) may be shown. [00131] In some implementations, program producers may identify times in a program that are appropriate for advertising. For example, the program producers may identify times when the viewer's full attention is not needed to follow the program. In some implementations, a flag may be associated with the program to mark those times. For example, the program scheduler 422 may identify these times and only display advertisement over the screen at these times. In some implementations, the server may receive the request through the interface 412 and may retrieve the selected program from the video database 416. In other implementations, the server may transmit a command to the client that informs the client device where the promotion points should be inserted in the selected program. The start and end times for the promotions may be referenced as promotion points. [00132] Then, the client device displays, in step 606, the selected program. For example, the client device may use the video driver 424 to display the selected program on the display 428. In step 608, the client device selects a promotion and displays the selected promotion. For example, the client device may be displaying a program and may reach a promotion point in the program. The client device may then select, based on a user profile (e.g., the user profile 246), a promotion to be displayed from the server device. For example, the program scheduler 422 may select a commercial from the program and promotion database 426. A group of possible commercials may first be established by identifying the programs that advertisers identified for their commercials (if any) and matching a subset with the program the viewer is currently watching. That sub-set of commercials may then have their profiles compared to a viewer's profile to determine which commercials to present to the viewer as a best match to the program and/or the user's interests.. [00133] In the depicted example, the client device may also retrieve a promotion from the server device by transmitting a request to the server device. The server device may then, in step 610, transmit the requested promotion to the client device. For example, the client device may transmit a request for more items when the client device determines that no suitable items are stored in the program and promotion database 426, according to the user profile.
[00134] The request from the client device may simply be for commercials in general (or commercials associated with a particular program), or may be a request for particular commercials or commercials having a particular profile. Where the request is for a particular commercial, the client device may have previously been given information about profiles for certain commercials, and may have conducted an analysis of the profiles against a local profile stored on the client relating to a user f the client device. Where the request is for a commercial having a particular profile, the client may transmit identifying information (such as an ID number or a list of profile values) for a user related with the client device, and a server system may use that information to match a user profile against available commercial profiles. [00135] In step 612, the client device determines whether the displayed promotion is viewed. For example, the client device may determine the proportion of the item that has been viewed. If the user has viewed the promotion longer than a threshold, (e.g., 25 seconds of a 30-second commercial or other length portion of the 30-second commercial), then the client device may determine that the displayed promotion has been viewed. If the client system determines that the promotion has been viewed, then the client device may, in step 614, adjust the user profile and/or the advertisement profile. For example, if the advertisement profile is not fixed, then the client device may adjust the advertisement profile based on the user reaction and the user profile (e.g., using a process similar to the process 200). The determination of whether a promotion has been viewed may also be made by a server device, such as when the system provides video using a streaming approach, and may also involve reporting the viewing of a commercial so that the advertiser may be properly billed.
[00136] As another example, if the advertisement profile is fixed, then the client device may adjust the user profile based on the user reaction and the advertisement profile (e.g., using a process similar to the process 220). Next, the client device may determine whether a promotion session is done in step 616. If it is done, the system may return to showing the program (act 606) and if it is not, the system may show another promotion (608). For example, the client device may count the number of advertisement a user views. The system may allow a user to skip all of the promotions that they want to skip, but may also require the user to fully watch at least four promotions before the program will continue. Likewise, the system may require the user to follow activities that generate a certain amount of advertising revenue or advertising points (e.g., that may correspond directly or indirectly to advertising revenues) before the program will continue. In this manner, users can skip promotions they do not like, but cannot entirely skip watching some sort of promotion; as a result, broadcaster may be assured of obtaining some viewership of advertisements, and thereby increase potential advertising revenues. [00137] If, in step 612, the client device determines that the promotion is not viewed, then the client system may, in step 618, determine whether a decline limit is met, e.g., because the user has skipped too many commercials. For example, when a user skips, for example, 20 standard commercials, the client device may determine that the user may not like standard commercials, and may switch formats (622) and adjust the user's profile accordingly (620).
[00138] In some implementations, advertisers may bid values for their commercials and the promotion limit of the user may be computed based on the bid value of the watched commercial. For example, some advertisers may bid a certain value to have their commercials shown to users in a certain demographic group. For example, the advertiser or the video delivery system may classify demographic groups from a viewer's profile. For example, an advertiser for the car Audi A3 may bid a value to the video delivery system to show viewers who are young and earn a certain income. Then the video delivery system may show the advertisement for the Audi A3 to viewers who earn, for example, around $50,000 - $70,000 a year, and are in the 20s and 30s, from their profiles.
[00139] In some implementations, viewers who watched commercials with high bid value may spend less time watching commercials than do viewers of lower bid value commercials. For example, a video delivery system may stop showing commercials to a viewer when the viewer has obtained a dollar of bid value for the broadcaster by watching commercials. Advertisers may also submit different bids for commercials based on other factors about viewers, including the identity of the program during which a promotion is to be run.
[00140] When the user finishes the program, the client system may, in step 624, report displayed promotions to the server device. Next, the server system may log displayed promotions in step 626. For example, the server may log the number of each promotion displayed and bill an advertiser based on the number of times that a promotion is displayed. Such reporting may occur at other appropriate times, and may occur immediately or via a preference log if a server system is streaming video programming and/or promotional items.
[00141] As an adjunct to the steps shown here, a system may also make determinations about whether a user is or is not watching a promotional item, as discussed above. For example, where no item of any kind is skipped during the viewing of a program, that may be an indication that a user has left the area. Also, if no activity occurs with respect to a display monitor (e.g., changing channels or typing on a keyboard) during a program or for an extended period after a program is shown, it may also be inferred that the user has left. In such a situation, changes to a profile that were made under the assumption that the user liked certain promotional items because the user watched them, may be reversed or prevented, because it is not fair to assume that the user even watched the items. [00142] Moreover, a system may attempt to determine which user, from among a group of users with access to a video monitor, is the user watching a particular program. For example, some users may watch particular channels (e.g., ESPN and FOX Sports) while other viewers may watch other programming (e.g., Oxygen, Lifetime, HGTV), and viewership of a program associated with a particular user may cause a system to use that person's profile when selecting commercials. Alternatively or in addition, a system may look to other patterns of activity by an unknown user, such as frequency of channel changing and other remote control manipulations. Members of a certain gender, for example, may be associated with such activity, so that high activity on a remote control may cause the system to apply a particular user's profile.
[00143] FIG. 7 is a screen shot of an exemplary video display with advertising. The screen shot generally follows the form of the well-known Google Video service, with a video display area 710 providing the display of a streaming video file; and an information area 744 providing information about the video such as a title, a rating (1 to 5 stars), a short description, a number of tags, and the number of times the video has been displayed. Other controls, such as in the form of hyperlinks, are also provided. A preview area 742 is also provided ,and shows other videos, such as videos similar to the video currently being displayed, that a viewer may select. A single video frame from each video is shown, along with a title and a short description. In the figure, the frame and the title are hyperlinks whose selection will cause the related video to be displayed.
[00144] The preview area 742 may alternatively display promotional items that are to be displayed in the future. For example, the area 742 may toggle to such a display after a video has been displayed for a certain amount of time and an advertising break is coming up. A search area 746 may also be provided, and may permit a viewer to enter search queries for videos or for other services, such as the various services (maps, images, web search, etc.) offered by Google. [00145] Promotional area 720 may also be provided, and may serve as an area in which banner-like advertisements are displayed during the display of various videos. The advertisements may be selected to match the particular video, or to match the characteristics of the viewer, such as characteristics implied by the advertisements that the viewer watches and those that the viewer skips. [00146] A control area 730 contains several controls for affecting the display of a video. For example, typical play, pause, stop buttons may be shown. Also a "progress meter" may also be provided to show how much time is left in a video, and optionally to show where particular promotional periods are scheduled to occur, so that a viewer can make a better decision about the format of promotional items to view or skip. A "skip ad" control 740 is also shown, in the form of a hyperlink, to let a viewer skip a promotional item that is being displayed or is about to be displayed (e.g., as previewed in area 742). The skip ad control may advantageously provide a viewer with an extra level of control over the advertisements that the viewer will watch. As a result, the viewer is more likely to enjoy the viewing experience and to use the video system more often, and advertisers are more likely to reach viewers who are generally more responsive to the advertiser's products or services. [00147] FIG. 8 is a schematic diagram of an example of a generic computer system 800. The system 800 can be used for the operations described in association with the processes 200, 220, 240 and the method 600 according to one implementation. For example, the system 800 may be included in either or all of the video delivery system 100, the central system 410, the video selection device 420, the computer 440, the central system 436, the local system 448, and/or the computer 456. [00148] The system 800 includes a processor 810, a memory 820, a storage device 830, and an input/output device 840. Each of the components 810, 820, 830, and 840 are interconnected using a system bus 850. The processor 810 is capable of processing instructions for execution within the system 800. In one implementation, the processor 810 is a single-threaded processor. In another implementation, the processor 810 is a multi-threaded processor. The processor 810 is capable of processing instructions stored in the memory 820 or on the storage device 830 to display graphical information for a user interface on the input/output device 840.
[00149] The memory 820 stores information within the system 800. In one implementation, the memory 820 is a computer-readable medium. In one implementation, the memory 820 is a volatile memory unit. In another implementation, the memory 820 is a non-volatile memory unit. [00150] The storage device 830 is capable of providing mass storage for the system 800. In one implementation, the storage device 830 is a computer-readable medium. In various different implementations, the storage device 830 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device. [00151] The input/output device 840 provides input/output operations for the system 800. In one implementation, the input/output device 840 includes a keyboard and/or pointing device. In another implementation, the input/output device 840 includes a display unit for displaying graphical user interfaces. [00152] The features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program 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.
[00153] Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of 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 executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application- specific integrated circuits).
[00154] To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
[00155] The features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet. [00156] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network, such as the described one. 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.
[00157] Although a few implementations have been described in detail above, other modifications are possible. Moreover, other mechanisms for presenting a user with test case information may be used. In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. Other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.

Claims

WHAT IS CLAIMED IS:
1. A computer-implemented method of providing targeted video promotional material, the method comprising: transmitting a promotional item for display on a video terminal; determining whether the promotional item was skipped; and updating a profile corresponding to the promotional item or a viewer of the promotional item based on whether or not the promotional item was skipped.
2. The method of claim 1 , wherein the profile is updated if a portion of the commercial was displayed and a portion skipped.
3. The method of claim 1 , further comprising determining an identity of a viewer of the video terminal.
4. The method of claim 1 , wherein the profile corresponds to a commercial, and the profile is updated to make the display of the commercial less likely to appear to viewers having characteristics like those of the viewer of the video terminal if the commercial is skipped.
5. The method of claim 1 , wherein the promotional item is transmitted as part of a real-time streaming video broadcast.
6. The method of claim 1 , further comprising transmitting a follow-up promotional item for display to replace a skipped promotional item.
7. The method of claim 1 , -further comprising transmitting commercials for display as a fixed-size time block, and transmitting a replacement commercial for each commercial in the block that is skipped.
8. The method of claim 1 , further comprising associating one or more attributes with a promotional item, and changing one or more corresponding attributes for a user based on whether the promotional item is viewed or skipped.
9. The method of claim 1 , further comprising associating one or more attributes with a user, and changing one or more corresponding attributes for a promotional item based on whether the commercial is viewed or skipped.
10. The method of claim 1 , wherein the profile corresponds to a viewer and is associated with a single session of a viewing device.
11. The method of claim 1 , further comprising transmitting a plurality of promotional items until a predetermined number of promotional items is not skipped.
12. The method of claim 11 , further comprising limiting the number of times a promotional item can be displayed to a viewer.
13. The method of claim 1 , further comprising associating a viewer-ranked rating with a promotional item and showing the rating to a viewer before or while displaying the promotional item.
14. The method of claim 1 , further comprising determining when the promotional is skipped and associating the determination of when the promotional item is skipped with a score for the promotional item.
15. The method of claim 1 , further comprising selecting a promotional item for display by comparing a viewer profile to a profile for the promotional item.
16. The method of claim 15, further comprising updating the profile of the promotional item in an inverse relationship to the viewer profile if the promotional item is skipped.
17. A computer-implemented system for providing targeted video promotional material, comprising: a promotional item database storing promotional items to be displayed to a viewer of a video display system; a promotional item viewer monitor configured to report the occurrence of a skipping of a promotional item by a viewer; and a promotion profile generator that modifies a profile associated with the promotional item when the promotional item viewer monitor indicates that the item has been skipped.
18. The system of claim 17, wherein the promotional item viewer monitor reports that a promotional item has been skipped when a view watches less than a predetermined portion of the promotional item.
19. The system of claim 17, wherein the promotional items include a plurality of video commercials.
20. The system of claim 17, wherein the promotion profile generator modifies the profile associated with the promotional item
21. An electronic system for providing targeted video promotional material, comprising: a commercial database containing a plurality of commercials associated with one or more commercial parameters; an advertising server configured to select commercials for display on remote video terminals and to determine when commercials have been skipped in whole or in part; and means for updating a demographic profile corresponding to a user or a commercial based on commercial skipping activity of the user.
PCT/US2007/081659 2006-10-17 2007-10-17 Targeted video advertising WO2008049013A2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP16153509.1A EP3035671B1 (en) 2006-10-17 2007-10-17 Targeted video advertising
ES07844355T ES2570959T3 (en) 2006-10-17 2007-10-17 Directed video advertising
EP07844355.3A EP2090101B1 (en) 2006-10-17 2007-10-17 Targeted video advertising
JP2009533506A JP5624768B2 (en) 2006-10-17 2007-10-17 Targeted video advertising
CA2666795A CA2666795C (en) 2006-10-17 2007-10-17 Targeted video advertising

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/550,249 US7806329B2 (en) 2006-10-17 2006-10-17 Targeted video advertising
US11/550,249 2006-10-17

Publications (2)

Publication Number Publication Date
WO2008049013A2 true WO2008049013A2 (en) 2008-04-24
WO2008049013A3 WO2008049013A3 (en) 2008-10-09

Family

ID=39304517

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/081659 WO2008049013A2 (en) 2006-10-17 2007-10-17 Targeted video advertising

Country Status (7)

Country Link
US (4) US7806329B2 (en)
EP (2) EP3035671B1 (en)
JP (3) JP5624768B2 (en)
CN (1) CN101554048A (en)
CA (3) CA2666795C (en)
ES (1) ES2570959T3 (en)
WO (1) WO2008049013A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011521569A (en) * 2008-05-23 2011-07-21 グワンジョウ シユエン エレクトロニック カンパニー リミテッド Method and system for generating streaming media additional description file and inserting multimedia information

Families Citing this family (235)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387920B2 (en) 2003-12-23 2019-08-20 Roku, Inc. System and method for offering and billing advertisement opportunities
US9865017B2 (en) 2003-12-23 2018-01-09 Opentv, Inc. System and method for providing interactive advertisement
CN100539503C (en) * 2005-12-31 2009-09-09 华为技术有限公司 Information issuing system, public media information publication system and dissemination method
US8214516B2 (en) * 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
US20080066107A1 (en) 2006-09-12 2008-03-13 Google Inc. Using Viewing Signals in Targeted Video Advertising
US7806329B2 (en) 2006-10-17 2010-10-05 Google Inc. Targeted video advertising
US20090063281A1 (en) * 2006-12-06 2009-03-05 Haldeman Randolph M In-call enterprise advertisement
US9697280B2 (en) 2006-12-13 2017-07-04 Quickplay Media, Inc. Mediation and settlement for mobile media
US9456250B2 (en) * 2006-12-15 2016-09-27 At&T Intellectual Property I, L.P. Automatic rating optimization
US8196166B2 (en) 2006-12-21 2012-06-05 Verizon Patent And Licensing Inc. Content hosting and advertising systems and methods
US8146126B2 (en) * 2007-02-01 2012-03-27 Invidi Technologies Corporation Request for information related to broadcast network content
EP2119234B1 (en) * 2007-02-01 2020-03-25 Invidi Technologies Corporation Verifying and encouraging asset consumption in a communications network
US20080189169A1 (en) * 2007-02-01 2008-08-07 Enliven Marketing Technologies Corporation System and method for implementing advertising in an online social network
US20080215974A1 (en) * 2007-03-01 2008-09-04 Phil Harrison Interactive user controlled avatar animations
US20080221986A1 (en) * 2007-03-09 2008-09-11 Barry Soicher Consumer-choice, incentive based, alternative payment method and advertising system
US7849096B2 (en) * 2007-03-13 2010-12-07 Fein Gene S Multiple parameter data media search in a distributed network
US8375405B2 (en) * 2007-03-13 2013-02-12 Microsoft Corporation Contextual television advertisement delivery
US7861260B2 (en) 2007-04-17 2010-12-28 Almondnet, Inc. Targeted television advertisements based on online behavior
US8667532B2 (en) * 2007-04-18 2014-03-04 Google Inc. Content recognition for targeting video advertisements
US20080276266A1 (en) * 2007-04-18 2008-11-06 Google Inc. Characterizing content for identification of advertising
JP5503531B2 (en) * 2007-05-02 2014-05-28 グーグル インコーポレイテッド User interface for web-based video player
US20080313016A1 (en) * 2007-06-13 2008-12-18 General Instrument Corporation Method and System for Managing Media Content in a Network
EP2174226A1 (en) * 2007-06-26 2010-04-14 Ooyala, Inc. Object tracking and content monetization
US8433611B2 (en) 2007-06-27 2013-04-30 Google Inc. Selection of advertisements for placement with content
US8661464B2 (en) 2007-06-27 2014-02-25 Google Inc. Targeting in-video advertising
US8930986B2 (en) * 2007-07-08 2015-01-06 NL Giken Incorporated Receiving apparatus capable of receiving digital contents and commercial messages
US20090018904A1 (en) * 2007-07-09 2009-01-15 Ebay Inc. System and method for contextual advertising and merchandizing based on user configurable preferences
US8930989B2 (en) * 2007-08-20 2015-01-06 AdsVantage System and method for providing supervised learning to associate profiles in video audiences
US9064024B2 (en) 2007-08-21 2015-06-23 Google Inc. Bundle generation
US8549550B2 (en) 2008-09-17 2013-10-01 Tubemogul, Inc. Method and apparatus for passively monitoring online video viewing and viewer behavior
US9191450B2 (en) * 2007-09-20 2015-11-17 Disney Enterprises, Inc. Measuring user engagement during presentation of media content
US9071859B2 (en) 2007-09-26 2015-06-30 Time Warner Cable Enterprises Llc Methods and apparatus for user-based targeted content delivery
US20090094114A1 (en) * 2007-10-03 2009-04-09 Rice Daniel J Systems and methods for optimized addressable advertising
US8104059B2 (en) * 2007-10-08 2012-01-24 At&T Intellectual Property I, Lp System and method for serving advertising data from the internet
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
US8082179B2 (en) 2007-11-01 2011-12-20 Microsoft Corporation Monitoring television content interaction to improve online advertisement selection
US20090133057A1 (en) * 2007-11-21 2009-05-21 Microsoft Corporation Revenue Techniques Involving Segmented Content and Advertisements
US8892606B2 (en) 2007-11-22 2014-11-18 Yahoo! Inc. Method and system for media collection expansion
US20090150541A1 (en) * 2007-12-06 2009-06-11 Sony Corporation And Sony Electronics Inc. System and method for dynamically generating user interfaces for network client devices
WO2009080100A1 (en) * 2007-12-20 2009-07-02 Telecom Italia S.P.A. Method and system for providing a content-on-demand service
US8752093B2 (en) 2008-01-21 2014-06-10 At&T Intellectual Property I, L.P. System and method of providing recommendations related to a service system
US8341660B2 (en) * 2008-01-30 2012-12-25 Microsoft Corporation Program promotion feedback
US20090198711A1 (en) 2008-02-04 2009-08-06 Google Inc. User-targeted advertising
US9241188B2 (en) 2008-02-05 2016-01-19 At&T Intellectual Property I, Lp System for presenting marketing content in a personal television channel
US9824372B1 (en) 2008-02-11 2017-11-21 Google Llc Associating advertisements with videos
US20110016498A1 (en) * 2008-02-13 2011-01-20 Nds Limited Advertisement shifting system
US20090228567A1 (en) * 2008-03-10 2009-09-10 Jill Lewis Maurer Digital media content promotion methods including automatic alerts
US20090254409A1 (en) * 2008-04-02 2009-10-08 Leonid Kozhukh System and method for rating and pricing advertising
WO2009138254A1 (en) * 2008-05-14 2009-11-19 Joerg Thomas Selection and personalisation system for media
US9083853B2 (en) * 2008-06-02 2015-07-14 Intent IQ, LLC Targeted television advertisements associated with online users' preferred television programs or channels
US20090300594A1 (en) * 2008-06-03 2009-12-03 Elephino, Inc. System and method for content replacement
US20100011295A1 (en) * 2008-07-08 2010-01-14 Nortel Networks Limited Method of Delivering Customer Contact Service to IPTV Viewer
AU2009273944A1 (en) * 2008-07-23 2010-01-28 Google Inc. Video promotion in a video sharing site
US8812361B2 (en) * 2008-07-24 2014-08-19 At&T Intellectual Properties I, L.P. System and method of targeted advertisement
US20100031302A1 (en) * 2008-07-30 2010-02-04 Kabushiki Kaisha Toshiba Stream distribution system, stream receiving device, and stream reproduction method
US20100036906A1 (en) * 2008-08-05 2010-02-11 Google Inc. Advertisements for streaming media
US20100037149A1 (en) * 2008-08-05 2010-02-11 Google Inc. Annotating Media Content Items
WO2010015070A1 (en) * 2008-08-07 2010-02-11 Research In Motion Limited System and method for providing content on a mobile device by controlling an application independent of user action
US9612995B2 (en) * 2008-09-17 2017-04-04 Adobe Systems Incorporated Video viewer targeting based on preference similarity
US20100100618A1 (en) * 2008-10-22 2010-04-22 Matthew Kuhlke Differentiating a User from Multiple Users Based on a Determined Pattern of Network Usage
US20100191631A1 (en) * 2009-01-29 2010-07-29 Adrian Weidmann Quantitative media valuation method, system and computer program
US10032188B1 (en) * 2009-03-11 2018-07-24 Google Llc Audience definition based on video database usage
US20100287026A1 (en) * 2009-05-06 2010-11-11 Disney Enterprises , Inc. System and method for providing online video advertisements based on determined user tolerances
US9190110B2 (en) 2009-05-12 2015-11-17 JBF Interlude 2009 LTD System and method for assembling a recorded composition
US8774609B2 (en) * 2009-05-18 2014-07-08 Disney Enterprises, Inc. System and method for providing time-adapted video content
US9836784B2 (en) 2009-06-04 2017-12-05 Intent Media, Inc. Method and system for electronic advertising
US8813124B2 (en) 2009-07-15 2014-08-19 Time Warner Cable Enterprises Llc Methods and apparatus for targeted secondary content insertion
US9178634B2 (en) 2009-07-15 2015-11-03 Time Warner Cable Enterprises Llc Methods and apparatus for evaluating an audience in a content-based network
US20110013604A1 (en) * 2009-07-17 2011-01-20 John Ruckart Methods, Systems and Computer Program Products for Controlling Devices Using Portable Electronic Devices
US8280408B2 (en) 2009-07-17 2012-10-02 At&T Intellectual Property I, Lp Methods, systems and computer program products for tailoring advertisements to a user based on actions taken using a portable electronic device
US9479737B2 (en) * 2009-08-06 2016-10-25 Echostar Technologies L.L.C. Systems and methods for event programming via a remote media player
NZ581850A (en) * 2009-08-27 2011-12-22 Eyemagnet Ltd Informational content scheduling system and method
GB2473912A (en) * 2009-09-10 2011-03-30 Miniweb Technologies Ltd User-driven transition or skip between content items
US20110087753A1 (en) * 2009-10-12 2011-04-14 Hongtao Yu System for delivery of targeted advertising to internet users
US20110137727A1 (en) * 2009-12-07 2011-06-09 Rovi Technologies Corporation Systems and methods for determining proximity of media objects in a 3d media environment
US9152708B1 (en) 2009-12-14 2015-10-06 Google Inc. Target-video specific co-watched video clusters
US20110191288A1 (en) * 2010-01-29 2011-08-04 Spears Joseph L Systems and Methods for Generation of Content Alternatives for Content Management Systems Using Globally Aggregated Data and Metadata
US20110191246A1 (en) * 2010-01-29 2011-08-04 Brandstetter Jeffrey D Systems and Methods Enabling Marketing and Distribution of Media Content by Content Creators and Content Providers
US20110191691A1 (en) * 2010-01-29 2011-08-04 Spears Joseph L Systems and Methods for Dynamic Generation and Management of Ancillary Media Content Alternatives in Content Management Systems
US11157919B2 (en) * 2010-01-29 2021-10-26 Ipar, Llc Systems and methods for dynamic management of geo-fenced and geo-targeted media content and content alternatives in content management systems
US20110191287A1 (en) * 2010-01-29 2011-08-04 Spears Joseph L Systems and Methods for Dynamic Generation of Multiple Content Alternatives for Content Management Systems
US11232458B2 (en) * 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia
US9607655B2 (en) * 2010-02-17 2017-03-28 JBF Interlude 2009 LTD System and method for seamless multimedia assembly
EP2367143A1 (en) 2010-02-25 2011-09-21 Tim Frey Social advertise technology (So-ad-tec) System and method for advertising documents and in documents and further systems and methods for accessing, structuring and evaluating documents
US8402482B2 (en) * 2010-03-23 2013-03-19 Google Inc. Distributing content
KR101446482B1 (en) 2010-04-02 2014-10-07 디지맥 코포레이션 Video methods and arrangements
US8701138B2 (en) 2010-04-23 2014-04-15 Time Warner Cable Enterprises Llc Zone control methods and apparatus
CN102238139A (en) * 2010-04-27 2011-11-09 华为技术有限公司 Method, device and system for inserting advertisement
US8650283B1 (en) * 2010-06-07 2014-02-11 Purplecomm Inc. Content delivery technology
US9136964B2 (en) * 2010-06-24 2015-09-15 Google Technology Holdings LLC Viewing impression report collection, storage, and reportback of inserted content with DVR playback
CN103003834A (en) * 2010-07-20 2013-03-27 皇家飞利浦电子股份有限公司 A method and apparatus for replacing an advertisement
US8712930B1 (en) 2010-08-09 2014-04-29 Google Inc. Encoding digital content based on models for predicting similarity between exemplars
US20120041825A1 (en) * 2010-08-16 2012-02-16 Kasargod Kabir S Contextual translation of non-interactive advertisements into interactive advertisements
KR20120060134A (en) * 2010-08-16 2012-06-11 삼성전자주식회사 Method and apparatus for reproducing advertisement
US9432746B2 (en) 2010-08-25 2016-08-30 Ipar, Llc Method and system for delivery of immersive content over communication networks
EP2428924A1 (en) * 2010-08-27 2012-03-14 Axel Springer Digital TV Guide GmbH Coordinated automatic ad placement for personal content channels
US20120084809A1 (en) * 2010-09-30 2012-04-05 Jennifer Schultz System and method enabling viewers to select between a plurality of scheduled advertisements
ES2499399T3 (en) * 2010-10-15 2014-09-29 Accenture Global Services Limited Media distribution architecture for television viewing
US9241195B2 (en) * 2010-11-05 2016-01-19 Verizon Patent And Licensing Inc. Searching recorded or viewed content
US8781304B2 (en) 2011-01-18 2014-07-15 Ipar, Llc System and method for augmenting rich media content using multiple content repositories
US9361624B2 (en) 2011-03-23 2016-06-07 Ipar, Llc Method and system for predicting association item affinities using second order user item associations
US8515193B1 (en) 2011-04-08 2013-08-20 Google Inc. Image compression using exemplar dictionary based on hierarchical clustering
US8621516B2 (en) * 2011-04-11 2013-12-31 Echostar Technologies L.L.C. Apparatus, systems and methods for providing travel information related to a streaming travel related event
US8719855B2 (en) * 2011-04-21 2014-05-06 Paramjit Singh Bedi Methods and systems for distributing content over a network
EP2705482A4 (en) * 2011-05-05 2014-09-17 Thomson Licensing Dynamic allocation of advertising
US20120303468A1 (en) * 2011-05-23 2012-11-29 Microsoft Corporation Indirect online advertisements promoting third-party web content
US9647778B2 (en) * 2011-05-23 2017-05-09 Verizon Patent And Licensing Inc. Method and apparatus for providing advertisement correlation
US8760395B2 (en) 2011-05-31 2014-06-24 Microsoft Corporation Gesture recognition techniques
US20120316969A1 (en) * 2011-06-13 2012-12-13 Metcalf Iii Otis Rudy System and method for advertisement ranking and display
EP2541481A1 (en) * 2011-07-01 2013-01-02 TeliaSonera AB Personalized advertising
US9767202B2 (en) * 2011-07-22 2017-09-19 Google Inc. Linking content files
US20110296452A1 (en) * 2011-08-08 2011-12-01 Lei Yu System and method for providing content-aware persistent advertisements
US20130080263A1 (en) * 2011-09-23 2013-03-28 Jonathan Goldman Per-view charging for video advertisements
US9147194B1 (en) 2011-09-23 2015-09-29 Google Inc. Aggregated performance information for video content items
US9794641B2 (en) * 2011-09-23 2017-10-17 Google Inc. Video segment presentation tracking
US8635637B2 (en) 2011-12-02 2014-01-21 Microsoft Corporation User interface presenting an animated avatar performing a media reaction
US8806528B1 (en) * 2011-12-02 2014-08-12 Adobe Systems Incorporated Mediating digital program insertion for linear streaming media
US20130152125A1 (en) * 2011-12-07 2013-06-13 Sony Network Entertainment International Llc Method and system for advertisement choices using a second display during content playback
US9100685B2 (en) 2011-12-09 2015-08-04 Microsoft Technology Licensing, Llc Determining audience state or interest using passive sensor data
US9134969B2 (en) 2011-12-13 2015-09-15 Ipar, Llc Computer-implemented systems and methods for providing consistent application generation
US10157388B2 (en) * 2012-02-22 2018-12-18 Oracle International Corporation Generating promotions to a targeted audience
US8782693B2 (en) * 2012-02-29 2014-07-15 Google Inc. Interfaces to allow video ad serving into a mobile phone application video stream
EP2635036A1 (en) 2012-02-29 2013-09-04 British Telecommunications Public Limited Company Recommender control system, apparatus, method and related aspects
US8600220B2 (en) 2012-04-02 2013-12-03 JBF Interlude 2009 Ltd—Israel Systems and methods for loading more than one video content at a time
US8898687B2 (en) 2012-04-04 2014-11-25 Microsoft Corporation Controlling a media program based on a media reaction
US9078040B2 (en) 2012-04-12 2015-07-07 Time Warner Cable Enterprises Llc Apparatus and methods for enabling media options in a content delivery network
WO2013164681A1 (en) * 2012-05-01 2013-11-07 Kuttner Michael-Andreas A service for presenting secondary content during a commercial break
CA2775814C (en) * 2012-05-04 2013-09-03 Microsoft Corporation Advertisement presentation based on a current media reaction
CA2775700C (en) 2012-05-04 2013-07-23 Microsoft Corporation Determining a future portion of a currently presented media program
US9706253B1 (en) * 2012-06-21 2017-07-11 Google Inc Video funnel analytics
US9104192B2 (en) * 2012-06-27 2015-08-11 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling machines according to pattern of contours
US9854280B2 (en) 2012-07-10 2017-12-26 Time Warner Cable Enterprises Llc Apparatus and methods for selective enforcement of secondary content viewing
US9430779B1 (en) 2012-07-26 2016-08-30 Google Inc. Determining visual attributes of content items
US9053493B2 (en) 2012-08-13 2015-06-09 Google Inc. Affecting display of content based on negative reactions
US8862155B2 (en) 2012-08-30 2014-10-14 Time Warner Cable Enterprises Llc Apparatus and methods for enabling location-based services within a premises
EP2728536A1 (en) * 2012-09-17 2014-05-07 OpenTV, Inc. System and method for offering and billing advertisement opportunities
US8860882B2 (en) 2012-09-19 2014-10-14 JBF Interlude 2009 Ltd—Israel Systems and methods for constructing multimedia content modules
US9009619B2 (en) 2012-09-19 2015-04-14 JBF Interlude 2009 Ltd—Israel Progress bar for branched videos
US11259087B2 (en) * 2012-10-03 2022-02-22 Mimik Technology Inc. System and method for managing streaming services
CN102915504A (en) * 2012-10-09 2013-02-06 中国联合网络通信集团有限公司 Software release method and device
US9721263B2 (en) * 2012-10-26 2017-08-01 Nbcuniversal Media, Llc Continuously evolving symmetrical object profiles for online advertisement targeting
US9633363B2 (en) 2012-11-08 2017-04-25 Thnx, Llc System and method of incentivized advertising
WO2014078805A1 (en) 2012-11-19 2014-05-22 John Douglas Steinberg System and method for creating customized, multi-platform video programming
US9100719B2 (en) * 2012-12-03 2015-08-04 Brightcove, Inc. Advertising processing engine service
US9131283B2 (en) 2012-12-14 2015-09-08 Time Warner Cable Enterprises Llc Apparatus and methods for multimedia coordination
CN103888489A (en) * 2012-12-20 2014-06-25 阿里巴巴集团控股有限公司 Popularization information providing method, collection method, device, terminal equipment and server
US10373194B2 (en) 2013-02-20 2019-08-06 Datalogix Holdings, Inc. System and method for measuring advertising effectiveness
US10817959B2 (en) 2013-03-08 2020-10-27 Google Llc System for serving shared content on a video sharing web site
US11564002B2 (en) * 2013-03-15 2023-01-24 Sling TV L.L.C. Automated replacement of video program content
US9257148B2 (en) 2013-03-15 2016-02-09 JBF Interlude 2009 LTD System and method for synchronization of selectably presentable media streams
US8813120B1 (en) * 2013-03-15 2014-08-19 Google Inc. Interstitial audio control
US11778257B2 (en) 2013-03-15 2023-10-03 Sling TV L.L.C. Digital advertisement frequency correction
US9747330B2 (en) 2013-03-15 2017-08-29 Brightcove Inc. Demographic determination for media consumption analytics
US9633358B2 (en) * 2013-03-15 2017-04-25 Knowledgevision Systems Incorporated Interactive presentations with integrated tracking systems
US20140280620A1 (en) * 2013-03-15 2014-09-18 Samsung Electronics Co., Ltd. Communication system with identification management and method of operation thereof
US9832516B2 (en) 2013-06-19 2017-11-28 JBF Interlude 2009 LTD Systems and methods for multiple device interaction with selectably presentable media streams
US9329757B1 (en) * 2013-08-09 2016-05-03 United Services Automobile Associates (USAA) Concurrent channels of communication
US10448119B2 (en) * 2013-08-30 2019-10-15 JBF Interlude 2009 LTD Methods and systems for unfolding video pre-roll
US9530454B2 (en) 2013-10-10 2016-12-27 JBF Interlude 2009 LTD Systems and methods for real-time pixel switching
US9800950B2 (en) 2013-12-11 2017-10-24 Cisco Technology, Inc. Context aware geo-targeted advertisement in a communication session
US9520155B2 (en) 2013-12-24 2016-12-13 JBF Interlude 2009 LTD Methods and systems for seeking to non-key frames
US9641898B2 (en) 2013-12-24 2017-05-02 JBF Interlude 2009 LTD Methods and systems for in-video library
US10033825B2 (en) 2014-02-21 2018-07-24 Knowledgevision Systems Incorporated Slice-and-stitch approach to editing media (video or audio) for multimedia online presentations
US10219029B1 (en) * 2014-03-12 2019-02-26 Google Llc Determining online content insertion points in an online publication
JP6071933B2 (en) * 2014-03-20 2017-02-01 ヤフー株式会社 DISTRIBUTION ADVERTISEMENT DETERMINING DEVICE, DISTRIBUTION ADVERTISEMENT DETERMINING METHOD, AND DISTRIBUTION ADVERTISEMENT DETERMINING PROGRAM
US9792026B2 (en) 2014-04-10 2017-10-17 JBF Interlude 2009 LTD Dynamic timeline for branched video
US9653115B2 (en) 2014-04-10 2017-05-16 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US10412430B2 (en) * 2014-05-28 2019-09-10 Amobee, Inc. Method and system for recommending targeted television programs based on online behavior
US20150365730A1 (en) * 2014-06-17 2015-12-17 Verizon Patent And Licensing Inc. Generation and use of user behavioral data for a program
US11869038B2 (en) * 2014-06-24 2024-01-09 Arris Enterprises Llc Tracking ad preferences in adaptive bit rate systems
US10028025B2 (en) 2014-09-29 2018-07-17 Time Warner Cable Enterprises Llc Apparatus and methods for enabling presence-based and use-based services
US9792957B2 (en) 2014-10-08 2017-10-17 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US11412276B2 (en) 2014-10-10 2022-08-09 JBF Interlude 2009 LTD Systems and methods for parallel track transitions
US20160119689A1 (en) * 2014-10-27 2016-04-28 Tubemogul, Inc. Systems and Methods for Planning and Executing an Advertising Campaign Targeting TV Viewers and Digital Media Viewers Across Formats and Screen Types
US10250951B2 (en) 2014-10-27 2019-04-02 Adobe Inc. Systems and methods for planning, executing, and reporting a strategic advertising campaign for television
US10114898B2 (en) * 2014-11-26 2018-10-30 Samsung Electronics Co., Ltd. Providing additional functionality with search results
US10157230B2 (en) * 2014-12-29 2018-12-18 Samsung Electronics Co., Ltd. Generating search results based on clustered application states
JP6019162B1 (en) 2015-04-15 2016-11-02 ヤフー株式会社 Creation device, creation method, and creation program
US9672868B2 (en) 2015-04-30 2017-06-06 JBF Interlude 2009 LTD Systems and methods for seamless media creation
US10582265B2 (en) 2015-04-30 2020-03-03 JBF Interlude 2009 LTD Systems and methods for nonlinear video playback using linear real-time video players
US10430830B2 (en) * 2015-06-16 2019-10-01 Samsung Electronics Co., Ltd. Advertisement selection using uncertain user data
US9959558B2 (en) * 2015-08-18 2018-05-01 Samsung Electronics Co., Ltd. Application cards as advertisements
US10460765B2 (en) 2015-08-26 2019-10-29 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
JP6541521B2 (en) * 2015-09-08 2019-07-10 ヤフー株式会社 Generation device, generation method, generation program, determination device, determination method, and determination program
US9854326B1 (en) * 2015-09-09 2017-12-26 Sorenson Media, Inc. Creating and fulfilling dynamic advertisement replacement inventory
US10181134B2 (en) * 2015-10-12 2019-01-15 Samsung Electronics Co., Ltd. Indicating advertised states of native applications in application launcher
US9510036B1 (en) * 2015-10-26 2016-11-29 Google Inc. Systems and methods for providing content in a content list
CN105392043A (en) * 2015-11-24 2016-03-09 天脉聚源(北京)科技有限公司 Method and device for configuring interactive information of interactive television system
US10255618B2 (en) * 2015-12-21 2019-04-09 Samsung Electronics Co., Ltd. Deep link advertisements
US11128853B2 (en) 2015-12-22 2021-09-21 JBF Interlude 2009 LTD Seamless transitions in large-scale video
US11164548B2 (en) 2015-12-22 2021-11-02 JBF Interlude 2009 LTD Intelligent buffering of large-scale video
US9936263B2 (en) * 2015-12-30 2018-04-03 Roku, Inc. Controlling display of media content
US10769674B2 (en) * 2015-12-31 2020-09-08 Samsung Electronics Co., Ltd. Generation and rendering system for advertisement objects with computer-selected conditional content
US10127577B2 (en) * 2015-12-31 2018-11-13 Samsung Electronics Co., Ltd. Search architecture for rendering deep links from action criteria
CN107105312B (en) * 2016-02-19 2019-08-06 腾讯科技(北京)有限公司 A kind of method, apparatus and system carrying out information displaying
US10462202B2 (en) 2016-03-30 2019-10-29 JBF Interlude 2009 LTD Media stream rate synchronization
US11856271B2 (en) 2016-04-12 2023-12-26 JBF Interlude 2009 LTD Symbiotic interactive video
US10586023B2 (en) 2016-04-21 2020-03-10 Time Warner Cable Enterprises Llc Methods and apparatus for secondary content management and fraud prevention
US10218760B2 (en) 2016-06-22 2019-02-26 JBF Interlude 2009 LTD Dynamic summary generation for real-time switchable videos
US11272228B2 (en) 2016-06-30 2022-03-08 SnifferCat, Inc. Systems and methods for dynamic stitching of advertisements in live stream content
US9872049B1 (en) * 2016-06-30 2018-01-16 SnifferCat, Inc. Systems and methods for dynamic stitching of advertisements
US20180018063A1 (en) 2016-07-14 2018-01-18 Intent Media, Inc. Graphical user interface and system for viewing landing page content
US11212593B2 (en) 2016-09-27 2021-12-28 Time Warner Cable Enterprises Llc Apparatus and methods for automated secondary content management in a digital network
JP6370854B2 (en) * 2016-10-03 2018-08-08 ヤフー株式会社 Creation device, creation method, and creation program
US10911794B2 (en) 2016-11-09 2021-02-02 Charter Communications Operating, Llc Apparatus and methods for selective secondary content insertion in a digital network
US10070173B2 (en) * 2016-12-22 2018-09-04 Arris Enterprises Llc Video encoder customization through use of crowdsourcing and program metadata
US11050809B2 (en) 2016-12-30 2021-06-29 JBF Interlude 2009 LTD Systems and methods for dynamic weighting of branched video paths
US11303964B2 (en) * 2017-02-13 2022-04-12 DISH Technologies L.L.C. Apparatus, systems and methods for media content event quick access queue
CN108090107A (en) * 2017-05-22 2018-05-29 北京市商汤科技开发有限公司 Business object recommends method, apparatus, electronic equipment and storage medium
KR102622693B1 (en) * 2017-06-28 2024-01-08 로비 가이드스, 인크. Systems and methods for replacing a stored version of media with a version better suited for a user
US10945003B2 (en) 2017-09-27 2021-03-09 Intertrust Technologies Corporation Dynamic content mapping systems and methods
US10257578B1 (en) 2018-01-05 2019-04-09 JBF Interlude 2009 LTD Dynamic library display for interactive videos
CN108566414A (en) * 2018-03-06 2018-09-21 北京小米移动软件有限公司 Show the method, apparatus and storage medium of recommendation information
CN108540840B (en) * 2018-04-23 2020-07-28 网易传媒科技(北京)有限公司 Content output method and device, medium and computing equipment
EP3564888A1 (en) * 2018-05-04 2019-11-06 Hotmart B.V. Methods and systems for displaying a form associated with a video
CN108737845B (en) * 2018-05-22 2019-09-10 北京百度网讯科技有限公司 Processing method, device, equipment and storage medium is broadcast live
US11601721B2 (en) 2018-06-04 2023-03-07 JBF Interlude 2009 LTD Interactive video dynamic adaptation and user profiling
US11232163B2 (en) * 2018-08-23 2022-01-25 Walmart Apollo, Llc Method and apparatus for ecommerce search ranking
US11127064B2 (en) 2018-08-23 2021-09-21 Walmart Apollo, Llc Method and apparatus for ecommerce search ranking
CN109618230B (en) * 2018-12-21 2022-03-11 深圳Tcl数字技术有限公司 Advertisement filtering method, intelligent terminal and computer readable storage medium
US11144956B1 (en) * 2019-02-14 2021-10-12 Amazon Technologies, Inc. Targeted media delivery based on previous consumer interactions
US10700798B1 (en) * 2019-03-01 2020-06-30 GM Global Technology Operations LLC System and method to receive and deliver audio content
CN110087104B (en) * 2019-04-29 2021-07-27 秒针信息技术有限公司 Information pushing device and method, electronic equipment and computer readable storage medium
US11490047B2 (en) 2019-10-02 2022-11-01 JBF Interlude 2009 LTD Systems and methods for dynamically adjusting video aspect ratios
US11245961B2 (en) 2020-02-18 2022-02-08 JBF Interlude 2009 LTD System and methods for detecting anomalous activities for interactive videos
US11586691B2 (en) * 2020-05-21 2023-02-21 Meta Platforms, Inc. Updating a profile of an online system user to include an affinity for an item based on an image of the item included in content received from the user and/or content with which the user interacted
US11711638B2 (en) 2020-06-29 2023-07-25 The Nielsen Company (Us), Llc Audience monitoring systems and related methods
US11381887B2 (en) * 2020-12-07 2022-07-05 Rovi Guides, Inc. Systems and methods for managing interruption of content presentation
US11882337B2 (en) 2021-05-28 2024-01-23 JBF Interlude 2009 LTD Automated platform for generating interactive videos
US11917263B2 (en) * 2021-06-23 2024-02-27 Rivit TV, Inc. Device, method, and graphical user interface for alternative advert system
US20230005018A1 (en) * 2021-06-23 2023-01-05 Rivit TV, Inc. Systems and Methods of Providing Alternative Advert (AA) Query Items and AA Offers for an AA System
US11706486B2 (en) * 2021-06-25 2023-07-18 Rovi Guides, Inc. Systems and methods to prevent or reduce ad fatigue using user preferences
US11860704B2 (en) 2021-08-16 2024-01-02 The Nielsen Company (Us), Llc Methods and apparatus to determine user presence
US11934477B2 (en) 2021-09-24 2024-03-19 JBF Interlude 2009 LTD Video player integration within websites
US11758223B2 (en) * 2021-12-23 2023-09-12 The Nielsen Company (Us), Llc Apparatus, systems, and methods for user presence detection for audience monitoring

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0983991A (en) * 1995-09-18 1997-03-28 Toshiba Corp Communication system and method for collecting program viewing rate
JPH09130346A (en) 1995-10-30 1997-05-16 Sony Corp Av data reception equipment, av data transmission equipment, and broadcasting system
JP3495198B2 (en) * 1996-09-02 2004-02-09 株式会社東芝 Commercial information selective reproduction method and broadcast system
JPH1185636A (en) 1997-09-05 1999-03-30 Z Project:Kk Time designation information distribution system for network
DE69918341T2 (en) * 1998-03-04 2005-06-30 United Video Properties, Inc., Tulsa Program guide system with monitoring of advertising usage and user activities
JP2000057157A (en) * 1998-08-07 2000-02-25 Nec Software Chugoku Ltd Automatic advertisement distribution system
US8290351B2 (en) * 2001-04-03 2012-10-16 Prime Research Alliance E., Inc. Alternative advertising in prerecorded media
JP3487239B2 (en) * 1999-10-13 2004-01-13 日本電気株式会社 Television signal storage / reproduction device and television signal storage / reproduction system
WO2001093159A2 (en) 2000-05-27 2001-12-06 Dana Howard Jones Method and system for payment of intellectual property royalties by interposed sponsor on behalf of consumer over a telecommunications network
JP2003067629A (en) 2001-08-28 2003-03-07 Nippon Telegr & Teleph Corp <Ntt> Video distribution system, video distribution method, program for the method and recording medium having program for the method recorded thereon
US20030149975A1 (en) * 2002-02-05 2003-08-07 Charles Eldering Targeted advertising in on demand programming
US20030149621A1 (en) * 2002-02-07 2003-08-07 Koninklijke Philips Electronics N.V. Alternative advertising
JP2003242371A (en) 2002-02-19 2003-08-29 Fujitsu Ltd Information distributing method and computer program
AU2003245349A1 (en) 2002-05-31 2003-12-19 Opentv, Inc Method and system for the storage, viewing management, and delivery of targeted advertising
US7818763B2 (en) 2002-06-25 2010-10-19 Starz Entertainment, Llc Video advertising
JP2004185456A (en) 2002-12-05 2004-07-02 Hitachi Ltd System of distributing customized contents
US7043746B2 (en) 2003-01-06 2006-05-09 Matsushita Electric Industrial Co., Ltd. System and method for re-assuring delivery of television advertisements non-intrusively in real-time broadcast and time shift recording
US8266659B2 (en) * 2003-05-16 2012-09-11 Time Warner Cable LLC Technique for collecting data relating to activity of a user receiving entertainment programs through a communications network
JP2005011307A (en) * 2003-05-28 2005-01-13 Nippon Telegr & Teleph Corp <Ntt> Content providing method, and terminal, program and recording medium for content user
JP2005006105A (en) * 2003-06-12 2005-01-06 Sony Corp Content distribution system, content distribution method, and content distribution device
US20060036488A1 (en) 2004-08-10 2006-02-16 Hiro-Media Ltd. Method and system for dynamic, real-time addition of advertisements to downloaded static content
US20070143370A1 (en) * 2005-12-20 2007-06-21 Matsushita Electric Industrial Co., Ltd. TVA metadata automatic generation service for home networks
US7806329B2 (en) * 2006-10-17 2010-10-05 Google Inc. Targeted video advertising

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP2090101A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011521569A (en) * 2008-05-23 2011-07-21 グワンジョウ シユエン エレクトロニック カンパニー リミテッド Method and system for generating streaming media additional description file and inserting multimedia information

Also Published As

Publication number Publication date
WO2008049013A3 (en) 2008-10-09
CA2666795C (en) 2018-11-27
JP2013258746A (en) 2013-12-26
EP2090101A2 (en) 2009-08-19
US7806329B2 (en) 2010-10-05
JP5624768B2 (en) 2014-11-12
US20140082643A1 (en) 2014-03-20
EP2090101B1 (en) 2016-03-23
US20110023060A1 (en) 2011-01-27
CA3017075A1 (en) 2008-04-24
JP6054448B2 (en) 2016-12-27
CA3080487A1 (en) 2008-04-24
ES2570959T3 (en) 2016-05-23
CN101554048A (en) 2009-10-07
EP3035671B1 (en) 2021-06-16
CA3080487C (en) 2020-11-24
CA3017075C (en) 2020-11-17
US20080092159A1 (en) 2008-04-17
JP5718420B2 (en) 2015-05-13
US20120084813A1 (en) 2012-04-05
US8474713B2 (en) 2013-07-02
JP2015165666A (en) 2015-09-17
CA2666795A1 (en) 2008-04-24
US8074882B2 (en) 2011-12-13
JP2010507351A (en) 2010-03-04
EP2090101A4 (en) 2010-12-08
US9010636B2 (en) 2015-04-21
EP3035671A1 (en) 2016-06-22

Similar Documents

Publication Publication Date Title
EP2090101B1 (en) Targeted video advertising
US8255949B1 (en) Television program targeting for advertising
US8640160B2 (en) Method and system for providing targeted advertisements
US6718551B1 (en) Method and system for providing targeted advertisements
US8516515B2 (en) Impression based television advertising
JP5824007B2 (en) System and method for media insertion based on keyword search
AU2006332714B2 (en) Improved advertising with video ad creatives
CA2387562A1 (en) Method and system for providing targeted advertisements
AU2011203560B2 (en) Improved advertising with video ad creatives

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780045620.5

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07844355

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 2009533506

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2666795

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007844355

Country of ref document: EP