WO2002037828A2 - Integrated in-stream video ad serving - Google Patents

Integrated in-stream video ad serving Download PDF

Info

Publication number
WO2002037828A2
WO2002037828A2 PCT/US2001/046800 US0146800W WO0237828A2 WO 2002037828 A2 WO2002037828 A2 WO 2002037828A2 US 0146800 W US0146800 W US 0146800W WO 0237828 A2 WO0237828 A2 WO 0237828A2
Authority
WO
WIPO (PCT)
Prior art keywords
video
client
frame
allocated
screening area
Prior art date
Application number
PCT/US2001/046800
Other languages
French (fr)
Inventor
Brittney D. Mcalister
Original Assignee
Excite@Home
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 Excite@Home filed Critical Excite@Home
Priority to AU2002227260A priority Critical patent/AU2002227260A1/en
Publication of WO2002037828A2 publication Critical patent/WO2002037828A2/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • 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
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application

Definitions

  • the invention relates to online advertising, and more particularly to in-stream ad serving, where an ad is integrated into streaming video.
  • banner is an electronic billboard in the form of a graphic image that is included in a web page (e.g., typically positioned across the web page or in a margin or other space reserved for banner ads).
  • banner ads are usually graphic interchange format (GIF) images.
  • GIF graphic interchange format
  • Various standard banner sizes have been established by the Internet Advertising Bureau (IAB).
  • IAB Internet Advertising Bureau
  • the banner can be just an informational ad, but is more often also used as a selectable link that viewers can "click- through" for a direct connection to the advertiser's web site.
  • banner ad techniques In the pursuit of encouraging the wished click-through, various banner ad techniques have developed.
  • One technique serves non-personalized banner ads, where in response to receiving a page request, a web server merely provides a random ad as a banner on the page that is served in response to the request. The page will then be displayed in the requesting user's browser and the user can view the banner ad.
  • Such non-personalized banner ads are less likely to be successful in attracting interested consumers to
  • the ad serving component of the web server has access to demographic
  • the web server can then select an ad that is more appropriate for that user based on the demographic
  • banner ads in general are associated with various problems that render this type of online advertising of questionable
  • banner ads from served web content.
  • the filtered banner ads are therefore never viewed even once. As such, even the best possible banner ad would fail to capture the viewer's attention, let alone cause the user to click-through.
  • the web server will insert a video ad before the main presentation.
  • banner ads can be effectively eliminated from view, so can such streaming video ads.
  • the viewer can simply advance the video feed (e.g., via controls on the video player application) to the end of the streaming video ad.
  • full-motion video ads are generally expensive to produce.
  • placing personalized advertisements e.g., banner ads or full-motion video ads in large amounts of content for a large number of different target groups introduces a number of complex logistic and performance issues, such as scalability and bandwidth, that are not easily addressed.
  • This technique should provide a means for satisfying the demands associated with supplying customized online advertising to a large number of consumers.
  • One embodiment of the present invention provides a method for serving in-stream video ads by receiving a client request for streaming video, categorizing the client request based on established criteria, and determining whether a system resource that satisfies the established criteria is already allocated for serving the requested streaming video.
  • the method includes associating the already allocated system resource with the client request, and serving the requested streaming video having a number of ad images integrated therein to a client associated with the client request.
  • Another embodiment of the present invention provides a method for integrating an ad image into a requested streaming video by receiving a video feed that is responsive to a client request for streaming video, replacing an ad screening area image included in a frame of the video feed with an ad image, thereby yielding a modified frame, and streaming the video feed containing the modified frame to the requesting client.
  • Another embodiment of the present invention provides a method for streaming video content to a video ad placement server module by receiving a video transmission from a content provider, rendering frames of video from the video transmission thereby yielding a streaming video, broadcasting the streaming video, and receiving the broadcasted streaming video at a video ad placement server module allocated to receive the streaming video, thereby yielding an active broadcast.
  • Another embodiment of the present invention provides a method for facilitating post production integration of advertising images into a streaming video resulting from filming of a scene by providing an ad screening area in the scene prior to filming, the ad screening area having a characteristic that allows the ad screening area to be distinguished from other components included in the scene.
  • the method further includes identifying an image of the ad screening area in a frame of the resulting video based on the distinguishing characteristic associated with the ad screening area, replacing the image of the ad screening area included in the frame with an ad image selected based on demographic data, and repeating the identifying and replacing steps for a number frames of the resulting video.
  • Another embodiment of the present invention provides a system for integrating ad images into a video feed that is responsive to a client request.
  • the system includes a server for identifying established criteria associated with the client request, and selecting a targeted ad resource based on the established criteria.
  • the system also includes an integration module operatively coupled to the server, the integration module for replacing an ad screening area image included in a frame of the video feed with an ad image included in the targeted ad resource, thereby yielding a modified frame.
  • the server serves the video feed containing the modified frame to a client associated with the client request.
  • Another embodiment of the present invention provides a system for serving a video feed in response to a request from a client.
  • the system includes a number of stream server modules for receiving client requests for video feeds and for categorizing each client request based on established criteria, and a number of ad placement server modules, each one having a status of available to be allocated or already allocated, for integrating an ad into a requested video feed.
  • the system also includes a resource manager module operatively coupled to each of the stream server modules for determining whether an ad placement server module that satisfies the established criteria associated with a client request has an allocated status. In response to an ad placement server that satisfies the established criteria having an allocated status, the resource manager associates the allocated ad placement server with the client request.
  • Figure 1 illustrates an ad screening area included in a filmable scene in accordance with one embodiment of the present invention.
  • Figure 2 illustrates a frame of a film including ad information in accordance with one embodiment of the present invention.
  • Figure 3 a illustrates a block diagram of a system for serving targeted ad resources in accordance with one embodiment of the present invention.
  • Figure 3b illustrates an example video served in response to client request in accordance with one embodiment of the present invention.
  • Figure 3c illustrates another example video served in response to client request in accordance with one embodiment of the present invention.
  • Figure 4 illustrates a block diagram of a system having a scalable architecture for serving targeted ad resources in accordance with one embodiment of the present invention.
  • Figure 5 illustrates a method for managing the resources of a system for serving in- stream video ads in accordance with one embodiment of the present invention.
  • Figure 6 illustrates a method for serving in-stream video ads in accordance with one embodiment of the present invention.
  • Figure 1 illustrates an ad screening area included in a filmable scene in accordance with one embodiment of the present invention.
  • filmable scene 105 includes a man who is wearing many hats, although any filmable scene will suffice.
  • the man in this example is acting out some skit or script that is wildly interesting and entertaining.
  • the merit of the filmable scene 105 need not achieve any particular grade in order for the present invention to be employed.
  • scene 105 can be any scene, such as an event, happening or object, that can be filmed.
  • the format of the resulting film can be analog (e.g., VHS or Hi-8) or digital (e.g., MiniDV or D-VHS).
  • the chosen format can comply with a number of standards (e.g., NTSC - National Television Standards Committee or PAL - Phase Alternation Line).
  • any recording technology e.g., film, video or other
  • film for capturing visual data or visual/audio data will suffice.
  • film or “filmable” is intended to refer to all such recording technology.
  • ad screening area 110 is included in the filmable scene 105.
  • ad screening area 110 is a rectangular green screen located in the background of the upper right corner of scene 105 (from the viewer's perspective). As scene 105 is filmed, ad screening area 110 remains static while the man wearing many hats does what ever he is supposed to do.
  • ad screening area 110 can be any color or series of colors that are unique to the ad screening area 110.
  • ad screening area 110 can be any shape, can be located anywhere in scene 105, and need not be static. For example, ad screening area 110 can be blue or red and represent the entire background of scene 105.
  • ad screening area 110 can be on, for instance, a pant leg, glove, jacket, or hat worn by the man. There can also be more than one ad screening area 110, where each one is a unique color, or they are all the same color, or some are associated with one color while others are associated with another color.
  • Ad screening area 110 can be any area or areas included in scene 105, where each area 110 can be uniquely distinguished from other components included in the scene 105.
  • an ad screening area 110 can be uniquely distinguishable from other components included in the scene 105 based on its color.
  • other characteristics of an ad screening area 110 can be used to uniquely distinguish it as well.
  • the shape, size or location of an ad screening area 110 can be used to distinguish it from other components included in the scene.
  • One skilled in the art will appreciate the flexibility provided by an ad screening area 110 in light of this disclosure.
  • each frame of the film can be processed (e.g., during post production) to replace the image of the ad screening area 110 with images of advertising content (or other images).
  • a frame is intended to include one image plane, and a film includes a series of such image planes. Images that are constant from frame to frame indicate a lack of movement, while images that change over a number of frames indicate movement, or a break in a film sequence. As such, the images depicting scene 105 may indicate movement, while the integrated replacement images (whether ad images or other) might indicate a constant single image (e.g., a company logo, slogan, or website address).
  • the images depicting scene 105 may be constant (e.g., beautiful autumn scenes that change every 60 seconds), while the integrated replacement images might indicate movement or some activity (e.g., an animated company logo, slogan, or scene).
  • both scene 105 and the integrated replacement images can indicate movement, or both can indicate lack of movement.
  • an ad screening area 110 image with an advertising content image is facilitated by the unique characteristics of the ad screening area 110.
  • a computer software application used in processing film can be programmed to replace an image having a color (e.g., green or blue) unique to an ad screening area 110 with the image of selected ad content on a frame by frame basis.
  • This concept is generally referred to as green screening, and assumes that the color of an ad screening area 110 (whether green, blue or otherwise) is unique in that no other components included in filmable scene 105 contain that color.
  • Green screening techniques are commonly used in filmmaking in order to create various special effects and illusions, such as a vast field of spaceships engaged in a battle over galaxy domination, or a woman hanging precariously by one hand from a jutting rock over a profoundly deep ravine.
  • each ad screening area 110 can have a unique shape that a pattern recognition module is programmed to detect.
  • an ad screening area 110 might have a unique rectangular shape that can be detected by the pattern recognition module during post production processing. Once detected, the image of the uniquely shaped ad screening area 110 can be replaced with an appropriate advertising content image (or other image) on a frame by frame basis.
  • Another technique is to have ad screening areas 110 that have fixed locations.
  • a fixedly-located ad screening area 110 translates to a specifically located image within each frame of the resulting film of scene 105 (assuming that the camera filming scene 105 was stationary).
  • Post production processing can then include replacing each specifically located image with an image of appropriate ad content on a frame by frame basis.
  • the post production process of replacing a particular ad screening area 110 image with advertising content images (without affecting the images of other components) on a frame by frame basis is facilitated.
  • Such a process can be repeated for each unique ad screening area 110 included in scene 105.
  • the post production processing can include other image processing, such as manipulating the size, color, or shape of the selected ad image.
  • the image of an ad screening area 110 can be replaced with a selected image, whether the replacement is an ad content image, a customized image or other image.
  • replacement images can be integrated into the frames of a film on a frame by frame basis without overlaying or otherwise obscuring the images of other components included in each frame of film. Because the replacement is done on a frame by frame basis, the replacement images of adjacent frames (in the aggregate) can yield an ad that projects a constant image, or has motion and other visual information that is independent of the other images included in the corresponding frames. Assuming that it would not interfere with the audio of the main presentation, audio information could also be included to complement the ad. Replacement images can also include filler imagery that is consistent with the other images included in the corresponding frames so that it appears the film was never modified, or that there was never an ad screening area 110 included in the original filmable scene 105.
  • FIG. 2 illustrates a frame of a film including ad information in accordance with one embodiment of the present invention.
  • Screen 205 can be, for example, the monitor of a computer system connected to the Internet.
  • screen 205 could be the screen of a television connected to the Internet (e.g., via a set-top box).
  • screen 205 can be the display of any device or system that is configured to receive visual data from the
  • a media player e.g., software application for displaying video and audio information
  • a media player window 210 is open and displayed on screen 205.
  • a streaming video 220 is being displayed within the video player window
  • This frame includes an image of the man wearing many hats as well as an image of ad screen area 110. However, the image of ad screen area 110 has been replaced (e.g., during post production processing) with an image of ad 215.
  • This particular ad 215 could be attempting to establish hunger in the viewer by showing a basket of fresh-baked bread. Perhaps in the upcoming frames of streaming video
  • the name and location of a bakery that is local to the viewer will be displayed as ad 215.
  • the system serving the streaming video 220 might have access to demographic data that indicates that this particular viewer is accessing the Internet from an area that is dominated by people who consume substantial baked goods, particularly on Sunday morning.
  • streaming video requests from that area on Sunday morning can be responded to by serving the requested streaming video 220 that contains ad 215, which in this case would be an ad for a local balcery.
  • a detemiination as to which ad 215 should be added to what streaming video 220 can be based on, for example, the nature of the requested streaming video and demographic data associated with the requestor.
  • a system for integrating advertising content into requested video feeds based on various criteria will now be discussed with reference to Figure 3 a.
  • FIG. 3a illustrates a block diagram of a system for serving targeted ad resources in accordance with one embodiment of the present invention.
  • the system includes a web server 310, a database 312, a number of video feeds 315 (only one shown), and a library 320 having a number of targeted ad resources 325 (e.g., 325a, 325b, 325c and 325d).
  • a number of clients 305 e.g., 305a and 305b
  • web server 310 receives a request from a client 305 for a particular video feed 315.
  • web server 310 selects a targeted ad resource 325 from library 320. This selected targeted ad resource 325 is then integrated into video feed 315 on a frame by frame basis, and the resulting modified video feed 315 is served to the requesting client.
  • Each of the components shown in Figure 3 a will now be discussed in more detail.
  • a client 305 can be, for example, a browser running on a requesting user's computer system.
  • any hardware, software, firmware, or combination thereof that can provide a visual interface between a requesting user and web server 310 is representative of a client 305.
  • client 305 could be a set-top box and supporting software that allow a user to communicate with web server 310 via the user's television.
  • client 305 can be a media player (e.g., a software application) that is running on a personal digital assistant (PDA) up-linked to web server 310 via a computer system.
  • PDA personal digital assistant
  • Web server 310 can be, for example, any conventional server (e.g., an Apache web server) capable of serving video feeds, and may be implemented in hardware, software, firmware or any combination thereof.
  • web server 310 includes (or has access to) database 312.
  • database 312 includes demographic information about clients 305.
  • demographic information which is helpful in targeting the most appropriate ad to a particular viewer, can be obtained by a number of means. For example, online surveys, registrations for online services, or set-top box subscriber records can be used to provide demographic data. Likewise, a customized web page might yield various demographic information. Additionally, various information gathering techniques can be employed, such as an online horoscope service for collecting birth dates, or an online weather service for collecting geographic location information.
  • Demographic information can also be purchased from a third-party that specializes in gathering such information. Demographic information can also be obtained real-time by a cookie placed in the requesting client's browser thereby eliminating the need for a database of such information. Demographic data might include information such as a person's age, gender, income, and geographic location. Numerous other demographic factors can be considered in targeting advertisements. Thus, the source and type of demographic information that is available to web server 310 can vary significantly.
  • Web server 310 receives requests for page information or media (e.g., streaming video) from clients 305.
  • Video feeds 315 can be supplied to web server 310 from various content providers or sources, and can have a number of formats (e.g., Quick Time, MPEG,
  • web server 310 identifies demographic information (e.g., contained in database 312 or a cookie associated with a requesting client 305) associated with the requesting client 305, and selects a targeted ad resource 325 from library 320 based on the client request and or demographic information. Alternatively, a group of targeted ad resources 325 can be identified based on that demographic information. In this case, the selection process continues with a selection of a targeted ad resource 325 from the identified group.
  • demographic information e.g., contained in database 312 or a cookie associated with a requesting client 305
  • This selection can be, for example, a random selection, or involve a round-robin selection scheme where each targeted ad resource 325 in the selected group is selected once before any one targeted ad resource 325 in the group is selected a second time. Numerous other selection schemes are possible in light of this disclosure.
  • a targeted ad resource 325 can be selected based on other established criteria such as the shape or size of the ad screening area 110 images included in the frames of the requested video feed 315.
  • web server 310 can identify (or have prior awareness of) the shape of ad screening area 110 images included in the frames of the requested video feed 315.
  • the shape of ad screening area 110 images included in the frames of the requested video feed 315 is indicated in header information associated with the requested video feed 315 (e.g., 01 equates to a specific square shape, 10 equates to a specific rectangle shape, and 11 equates to a specific circular shape).
  • Web server 310 can access and interpret such header information thereby identifying the corresponding shape.
  • a patte ⁇ i recognition module operatively coupled to web server 310 (not shown) can be employed to detect the shape of ad screening areas 110.
  • web server 310 can identify (or have prior awareness of) the shape of the images associated with targeted ad resources 325 included in library 320.
  • a targeted ad resource 325 associated with images (e.g., frames) that are substantially the same shape as the ad screening area 110 images associated with the requested video feed 315 can thus be identified and selected by web server 310.
  • post production processing time can be reduced. For example, the need to conduct image processing (e.g., stretching, shrinking or truncating) to make the selected ad image fit the corresponding ad screening area 110 is substantially reduced or eliminated.
  • the targeted ad resources 325 can be organized in library 320 based on various established criteria. For example, targeted ad resources 325 can be organized in library 320 based on general advertising themes, the shape of the frames associated with each targeted ad resource 325, demographic data associated with each targeted ad resource 325, or a combination thereof. In one embodiment, demographic information can be associated with various shaped frames. For example, targeted ad resources 325 directed to 25 to 30 year-old males living in the New York City area and having a annual income of $75 to $100,000 can have a square shape, while targeted ad resources 325 directed to 25 to 30 year-old females living in the New York City area and having a annual income of $75 to $100,000 can have a rectangular shape.
  • the targeted ad resources 325 can be organized in the library based on the frame shape associated with each ad 325.
  • a targeted ad resource 325 having a shape e.g., frame shape or image shape
  • Such a technique abstracts a potentially complex array of demographic data into a single attribute thereby simplifying organization of library 320, as well as the identification and retrieval of selected targeted ad resources 325.
  • targeted ad resources 325 are stored in library 320 in a frame by frame format so as to facilitate the integration process.
  • each frame of a selected targeted ad resource 325 can be associated with a corresponding frame of the requested video feed 315.
  • the selected targeted ad resource 325 can have any number of frames that is necessary to communicate its intended advertising purpose. For example, in a thousand frame requested video feed 315, only twenty frames are modified to include the corresponding twenty frames of a first selected targeted ad resource 325 (e.g., targeted ad resource 325a).
  • a second selected targeted ad resource 325 e.g., targeted ad resource 325d.
  • the number of frames modified in video feed 315 depends on factors such as the temporal length of the integrated message being communicated, and rate at which the modified frames are presented on the requestor's display.
  • the present invention can work with granularities as fine as a single frame, a preferred embodiment inserts an image into multiple frames in order to leave a lasting impression with the viewer.
  • web server 310 can perform a modification process where the selected targeted ad resource 325 is integrated into the appropriate location of the requested video feed 315.
  • web server 310 includes or is operatively coupled to an integration module (e.g., implemented in hardware, software, firmware or a combination thereof) for performing this integration process.
  • an integration module can be used to perform any necessary image processing to facilitate the integration of the selected targeted ad resource 325 into the appropriate location of the requested video feed 315.
  • the size or shape of the ad images making up the selected targeted ad resource 325 can be manipulated (e.g., stretched, shrunk, truncated or enhanced) so that each ad image physically and or aesthetically fits into the corresponding ad screening area 310 image of the video feed.
  • Other image features such as color, brightness, contrast, can also be manipulated with image processing during the post production integration process.
  • the selected targeted ad resource 325 can be integrated on a frame by frame basis into ad screening area 110 images included in the frames making up video feed 315 using a number of techniques (e.g., green screen techniques, pattern recognition techniques, or fixed ad screening area 110 location techniques) as explained in reference to Figure 1.
  • the frames of the selected targeted ad resource 325 can yield, for example, a full motion video where the visual image is changed 30 or more times a second.
  • the frames of the selected targeted ad resource 325 can yield, for example, a freeze frame video where the image is changed once every several seconds.
  • the frames of the selected targeted ad resource 325 can yield, for example, a constant image that does not change.
  • web server 310 serves the resulting modified video feed 315 in response to the request made by client 305.
  • requested video feeds 315 can be modified with targeted ad resources 325 in advance of receiving a request.
  • library 320 might include a number pre-modified video feeds 315 (not shown) that have respective targeted ad resources 325 already integrated therein.
  • the structural organization of such a library 320 can have many forms.
  • structural organization of library 320 might include two levels: a top level and a sub-level. The top level can be organized alphabetically by the name of all video feeds 315 that can be requested. Alternatively, other top level identifiers, such as a serial number associated with each video feed 315 that can be requested, can be used to organize the top level.
  • the sub-level under each top level identifier can include a number of copies of the same video feed 315, each copy having a different targeted ad resource 325 integrated therein.
  • This sub-level of library 320 can be organized, for example, by general advertising themes, demographic data associated with each targeted ad resource 325, or a combination thereof.
  • the top level of library 320 can be parsed to locate the top level identifier (e.g., name or serial number) that corresponds to the received request.
  • the corresponding sub-level can be parsed to identify the targeted ad resource 325 that best corresponds to the sub-level identifiers (e.g., demographic data or advertising theme).
  • Library 320 can alternatively employ other organizational structures, such as a tree structure. Factors such as the ratio of targeted ad resources to available video feeds will dictate the best organizational structure to employ in library 320.
  • demographic data associated with client 305a indicates that the corresponding user is a 21 year old new college graduate who lives in Florida and has accepted a new position having a starting salary of $60,000.
  • demographic data associated with client 305b indicates that the corresponding user is a 50 year old company president who lives in northern Maine and has an annual salary of $400,000.
  • each user has requested a video feed 315.
  • the requested video feeds 315 may be the same, or different.
  • web server 310 selects targeted ad resource 325a for integration into the requested video feed 315 that will be served to client 305a. This selection can be based on, for example, the requested video feed 315 and the demographic data associated with client 305a.
  • targeted ad resource 325a is directed to a convertible sports car having a price range of $18,000 to $26,000.
  • Figure 3b illustrates an example video feed 315 that can be served in response to the request from client 305a.
  • the video feed 315 has targeted ad resource 325a integrated therein. Note that the text included in targeted ad resource 325a reads, "Don't you deserve a new [image of convertible sports car]" thereby acknowledging and affirming graduation from college.
  • web server 310 selects targeted ad resource 325c for integration into the requested video feed 315 that will be served to client 305b.
  • This selection can be based on, for example, the demographic data associated with client 305b.
  • targeted ad resource 325c is directed to a luxury sedan having a price range of $75,000 to $90,000.
  • Figure 3c illustrates an example video feed 315 that can be served in response to the request from client 305b.
  • the video feed 315 has targeted ad resource 325c integrated therein. Note that the text included in targeted ad resource 325c reads, "You've earned a new [image of luxury sedan]" thereby acknowledging and affirming years of hard work and a successful career.
  • FIG. 4 illustrates a block diagram of a system having a scalable architecture for serving targeted ad resources in accordance with one embodiment of the present invention.
  • the system includes a load balancer 415, a resource manager 405, available resources 410, a number of stream servers 420 (e.g., 420a, 420b, 420c and 420d), a database 422, a number of in-stream ad placement servers 425 (e.g., 425a and 425b), a number of broadcasts 430 (e.g., 430a, 430b, 430c and 430d), a number of frame generators 435 (e.g., 435a, 435b, 435c and 435d), and a number of content providers 440 (e.g., 440a, 440b, 440c and 440d).
  • a number of clients 305 (e.g., 305a and 305f) can access the system.
  • Each of the components will now be described in
  • a client 305 is any online device (e.g., hardware, software, firmware or a combination thereof) that is configured to receive streaming video.
  • Load balancer 415 receives requests (e.g., video requests) from clients 305 and distributes those requests evenly among the number of stream servers 420 pursuant to a load balancing algoritlim.
  • Other conventional load distribution means can be used as well to ensure that no one stream server 420 is overloaded more than other stream servers 420.
  • the number of stream servers 420 can vary depending on, for example, desired system performance and number of requests received from clients 305.
  • a stream server 420 is essentially a web server (e.g., an Apache web server) that is optimized to process requests for streaming video, and can be implemented in hardware, software, firmware, or a combination thereof.
  • each stream server 420 includes (or has access to) database 422.
  • Database 422 can include, for example, demographic information about clients 305. For the sake of clarity, demographic information can be any information that can be used to categorize a particular person for the purposes of targeting advertising to that person.
  • the stream server 420 then sends a request to resource manager 405 for an in-stream ad placement server 425. This request can be based on, for example, the requested video, the demographics associated with the request, or a combination thereof.
  • the form of the request can be, for example, a set of arguments that are descriptive of the requested video and the associated demographics
  • Resource manager 405 which can be a server or other suitable processing environment (e.g., implemented in hardware, software, firmware, or a combination thereof), receives the request for an in-stream ad placement server 425. Resource manager 405 then detennines whether an in-stream ad placement server 425 that is responsive to the request is already allocated. In one embodiment, resource manager 405 maintains an accounting of each allocated in-stream ad placement server 425, and what type of request each allocated in-stream ad placement server 425 is responsive to. A coding scheme can be implemented to simplify the comparison and response process of resource manager 405.
  • each request-type can be included in, for example, a database, list, or look-up table that is included in (or accessible by) resource manager 405.
  • each request-type can be associated with a status. For example, if a status bit associated with a particular request-type is low, for instance, then an in-stream ad placement server 425 is already allocated for the request associated with that request-type. On the other hand, if the status bit is high, then an in-stream ad placement server 425 is not allocated for the request associated with that request-type.
  • resource manager 405 determines an in-stream ad placement server 425 is already allocated for the request, then resource manager 405 returns the address of that already allocated in-stream ad placement server 425 to the requesting stream server 420.
  • the requesting stream server 420 can then access that allocated in-stream ad placement server 425, receive the modified video feed (e.g., having an ad integrated therein), and serve that video feed to the requesting client 305.
  • in-stream ad placement server 425 integrates an ad into the requested video feed using post production techniques as described in reference to Figure 1.
  • an in-stream ad placement server 425 might be dedicated to placing one or two particular ads that can be integrated into the requested video feed.
  • an in-stream ad placement server 425 can include a database of ads that can be integrated into the requested video feed.
  • the ads in the database can, for example, have a common theme or marketing purpose, and can be targeted to a user belonging to a particular categorization based on demographic data or other established criteria.
  • Each database can be sub-divided, where each sub-division is dedicated to ads targeted to users belonging to a particular categorization based on demographic data.
  • each in-stream ad placement server 425 can be dedicated to a number of certain user categorizations.
  • each in-stream ad placement server 425 can also provide a database of ads that are unrelated and not targeted to any one type of user.
  • resource manager 405 determines an in-stream ad placement server 425 is not already allocated for the request, then resource manager 405 allocates an available stream server 420.
  • resource manager 405 accesses available resources 410, which can be a listing of addresses of in-stream ad placement servers 425 that are available for allocation.
  • Resource manager 420 selects an available in-stream ad placement server 425, and configures that available in-stream ad placement server 425 to be responsive to the request of the requesting stream server 420.
  • a status bit associated with the request-type corresponding to the stream server 420 request can be, for example, set to low thereby indicating an in-stream ad placement server 425 is now allocated for that request-type.
  • Resource manager 420 then returns the address of that in-stream ad placement server 425 to the requesting stream server 420.
  • the requesting stream server 420 can then access that newly allocated in-stream ad placement server 425, and serve the modified video feed to the requesting client 305.
  • Each allocated in-stream ad placement server 425 is configured to receive at least one broadcast 430.
  • in-stream ad placement server 425 a is receiving broadcast 430a
  • in-stream ad placement server 425b is receiving broadcast 43 Od.
  • broadcasts 430b and 430c are inactive, meaning that they are not currently being viewed by any user.
  • an in-stream ad placement server 425 corresponding to the request-type associated with that request will be allocated and configured to receive and process that requested broadcast 430, thereby yielding an active broadcast.
  • broadcasts 430 are transmissions of video feeds (e.g., streaming or realtime video). Each broadcast 430 is simultaneously available to multiple clients 305 via load balancer 415, stream server 420 and in-stream ad placement server 425.
  • the substance or content of each broadcast 430 is provided by a content provider 440.
  • Content provider 440 provides a streaming video transmission (e.g., Quick Time, MPEG, NTSC broadcast or RTP), which is received by a corresponding frame generator 435.
  • Frame generator 435 renders frames from the streaming video transmission provided by the corresponding content provider 440. The frames generated by frame generator 435 are then transmitted thereby yielding broadcast 430.
  • frame generator 435 employs a CODEC (compressor/decompressor) that renders RGB (red, green, blue) frames from the streaming video transmission provided by the corresponding content provider 440.
  • CODEC compressor/decompressor
  • RGB red, green, blue
  • Other CODEC-types and color schemes may be employed as well.
  • the RGB images can be broadcast, for example, via user datagram protocol (UDP), which is a connectionless protocol that runs on top of Internet protocol (IP) networks, such as the World Wide Web.
  • UDP user datagram protocol
  • IP Internet protocol
  • Other protocols suitable for transmitting broadcasts 430 can also be used.
  • in-stream ad placement server 425 includes (or has access to) an integration module for integrating ad images into frames of the broadcast.
  • the integration module might employ an application programming interface such as JAVA MEDIA FRAMEWORK (IMF) for incorporating audio, video and other time-based media into other applications or applets.
  • a custom object (referred to as a pull buffer) for retrieving data from a source is defined to pull data from broadcast 430.
  • the pull buffer grabs a number of frames from a broadcast 430.
  • In-stream ad placement server 425 then integrates a selected ad image into each of the grabbed frames using green screening techniques (or other post production techniques) as explained above.
  • This modified frame is then used to create a buffer object, which allows the modified frame to be added back into the stream.
  • the stream containing the modified frames is applied to stream server 420 for service to the requesting client 305 via load balancer 415.
  • stream servers 420 and in-stream ad placement servers 425 can be implemented on separate machines, or on the same machines.
  • steam server 420a, stream server 420b, and in-stream ad placement server 425a can all be implemented on one machine.
  • each of these servers can be implemented on a separate machine.
  • Numerous other configurations for stream servers 420 and in-stream ad placement servers 425 are possible, and the selected configuration depends on factors such as the requisite processing power and individual machine processing capacity.
  • Figure 5 illustrates a method for managing the resources of a system for serving in- stream video ads in accordance with one embodiment of the present invention.
  • the method begins by receiving 505 a client request for steaming media (e.g., real-time video or realtime video having an audio component).
  • the method continues with categorizing 510 the client request based on established criteria. For example, the client request can be categorized based on the client request and demographics of the client.
  • the ad placement server can be requested based on some other information, or the request can be for any available ad placement server (e.g., arbitrary or random selection).
  • Steps 505 and 510 might be independently performed, for example, by a stream server 420, while the remaining steps might be independently performed, for example, by resource manager 405 (as discussed in reference to Figure 4).
  • this method is not intended to be limited any one embodiment disclosed herein.
  • the method further includes determining 515 whether an ad server that is responsive to the client request is currently allocated. If this determination is positive, the method includes associating 530 the allocated server with the client request. This association can be achieved, for example, by identifying the address of the allocated ad server. If this determination is negative, on the other hand, the method includes allocating 520 an ad server from the ad servers that are currently available (e.g., based on available resources 410). The method then proceeds with configuring 525 that ad server so that it is responsive to the client request. The method continues with associating 530 the allocated server with the client request.
  • Figure 6 illustrates a method for serving in-stream video ads in accordance with one embodiment of the present invention.
  • the method begins by receiving 605 a broadcast that is responsive to a client request for steaming media (e.g., real-time video).
  • the method proceeds with retrieving 610 a number of still frames from the broadcast, and integrating 615 an ad image to an ad screening area image included in each still frame.
  • the method includes incorporating 620 the modified still frames back into the broadcast.
  • the method further includes streaming 625 the broadcast containing the modified frames to the requesting client.

Abstract

One embodiment of the present invention provides a method for serving in-stream video ads. Another embodiment of the present invention provides a method for integrating an ad image into a requested streaming video. Another embodiment of the present invention provides a method for streaming video content to a video ad placement server module. Another embodiment of the present invention provides a method for facilating post production integration of advertising images into a streaming video resulting from filming of a scene. Another embodiment of the present invention provides a system for integrating ad images into a video feed that is responsive to a client request. Another embodiment of the present invention provides a system for serving a video feed in response to a request from a client.

Description

INTEGRATED IN-STREAM VIDEO AD SERVING
Inventor: Brittney D. McAlister
BACKGROUND OF THE INVENTION
FIELD OF THE INVENTION
The invention relates to online advertising, and more particularly to in-stream ad serving, where an ad is integrated into streaming video.
DESCRIPTION OF THERELATED ART
As e-comrnerce continues to develop and proliferate, service providers and retailers continue to jockey for market share and brand recognition with respect to the vast and rapidly increasing pool of online consumers. As such, effective online advertising techniques are highly desirable. The most widespread form of online advertising is commonly referred to as a banner. Generally, the banner is an electronic billboard in the form of a graphic image that is included in a web page (e.g., typically positioned across the web page or in a margin or other space reserved for banner ads). Such banner ads are usually graphic interchange format (GIF) images. Various standard banner sizes have been established by the Internet Advertising Bureau (IAB). The banner can be just an informational ad, but is more often also used as a selectable link that viewers can "click- through" for a direct connection to the advertiser's web site.
In the pursuit of encouraging the coveted click-through, various banner ad techniques have developed. One technique serves non-personalized banner ads, where in response to receiving a page request, a web server merely provides a random ad as a banner on the page that is served in response to the request. The page will then be displayed in the requesting user's browser and the user can view the banner ad. Such non-personalized banner ads, however, are less likely to be successful in attracting interested consumers to
click-through than personalized banner ads. Thus, in a more advanced online advertising technique, the ad serving component of the web server has access to demographic
information (e.g., gender, age group, income group) about the user. The web server can then select an ad that is more appropriate for that user based on the demographic
information, and provide the ad as a banner on the page that is served in response to the user's request. With such personalized banner ads, the targeted user is more likely to click- through the ad to further investigate whatever is being advertised.
However, regardless of whether they are personalized, banner ads in general are associated with various problems that render this type of online advertising of questionable
effectiveness. For example, a viewer can visually scan past the banner ad by simply
viewing the content of the page without noticing or paying attention to the banner ad. In addition, a viewer can more aggressively ignore the ad by simply repositioning the browser window or scrolling the content so that the ad is no longer displayed in the window. Thus, any content or animation included in the banner ad is out of view and ineffectual. Moreover, various utility programs available to online consumers effectively filter out
banner ads from served web content. The filtered banner ads are therefore never viewed even once. As such, even the best possible banner ad would fail to capture the viewer's attention, let alone cause the user to click-through.
In the realm of streaming video, a common advertising technique is to include a full-
motion video ad at the beginning of a requested video stream. For example, if a viewer is
watching a thirty minute streaming video presentation, the web server will insert a video ad before the main presentation. However, just as banner ads can be effectively eliminated from view, so can such streaming video ads. For instance, the viewer can simply advance the video feed (e.g., via controls on the video player application) to the end of the streaming video ad. In addition, such full-motion video ads are generally expensive to produce. Furthermore, placing personalized advertisements (e.g., banner ads or full-motion video ads) in large amounts of content for a large number of different target groups introduces a number of complex logistic and performance issues, such as scalability and bandwidth, that are not easily addressed.
There is a need, therefore, for a technique that provides online advertising that cannot be not readily subverted by consumers. This technique should provide a means for satisfying the demands associated with supplying customized online advertising to a large number of consumers.
BRIEF SUMMARY OF THE INVENTION
One embodiment of the present invention provides a method for serving in-stream video ads by receiving a client request for streaming video, categorizing the client request based on established criteria, and determining whether a system resource that satisfies the established criteria is already allocated for serving the requested streaming video. In response to a system resource that satisfies the established criteria being already allocated, the method includes associating the already allocated system resource with the client request, and serving the requested streaming video having a number of ad images integrated therein to a client associated with the client request.
Another embodiment of the present invention provides a method for integrating an ad image into a requested streaming video by receiving a video feed that is responsive to a client request for streaming video, replacing an ad screening area image included in a frame of the video feed with an ad image, thereby yielding a modified frame, and streaming the video feed containing the modified frame to the requesting client. Another embodiment of the present invention provides a method for streaming video content to a video ad placement server module by receiving a video transmission from a content provider, rendering frames of video from the video transmission thereby yielding a streaming video, broadcasting the streaming video, and receiving the broadcasted streaming video at a video ad placement server module allocated to receive the streaming video, thereby yielding an active broadcast.
Another embodiment of the present invention provides a method for facilitating post production integration of advertising images into a streaming video resulting from filming of a scene by providing an ad screening area in the scene prior to filming, the ad screening area having a characteristic that allows the ad screening area to be distinguished from other components included in the scene. The method further includes identifying an image of the ad screening area in a frame of the resulting video based on the distinguishing characteristic associated with the ad screening area, replacing the image of the ad screening area included in the frame with an ad image selected based on demographic data, and repeating the identifying and replacing steps for a number frames of the resulting video.
Another embodiment of the present invention provides a system for integrating ad images into a video feed that is responsive to a client request. The system includes a server for identifying established criteria associated with the client request, and selecting a targeted ad resource based on the established criteria. The system also includes an integration module operatively coupled to the server, the integration module for replacing an ad screening area image included in a frame of the video feed with an ad image included in the targeted ad resource, thereby yielding a modified frame. The server serves the video feed containing the modified frame to a client associated with the client request. Another embodiment of the present invention provides a system for serving a video feed in response to a request from a client. The system includes a number of stream server modules for receiving client requests for video feeds and for categorizing each client request based on established criteria, and a number of ad placement server modules, each one having a status of available to be allocated or already allocated, for integrating an ad into a requested video feed. The system also includes a resource manager module operatively coupled to each of the stream server modules for determining whether an ad placement server module that satisfies the established criteria associated with a client request has an allocated status. In response to an ad placement server that satisfies the established criteria having an allocated status, the resource manager associates the allocated ad placement server with the client request.
The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and not to limit the scope of the inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates an ad screening area included in a filmable scene in accordance with one embodiment of the present invention.
Figure 2 illustrates a frame of a film including ad information in accordance with one embodiment of the present invention.
Figure 3 a illustrates a block diagram of a system for serving targeted ad resources in accordance with one embodiment of the present invention. Figure 3b illustrates an example video served in response to client request in accordance with one embodiment of the present invention.
Figure 3c illustrates another example video served in response to client request in accordance with one embodiment of the present invention.
Figure 4 illustrates a block diagram of a system having a scalable architecture for serving targeted ad resources in accordance with one embodiment of the present invention.
Figure 5 illustrates a method for managing the resources of a system for serving in- stream video ads in accordance with one embodiment of the present invention.
Figure 6 illustrates a method for serving in-stream video ads in accordance with one embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
Figure 1 illustrates an ad screening area included in a filmable scene in accordance with one embodiment of the present invention. In the example shown, filmable scene 105 includes a man who is wearing many hats, although any filmable scene will suffice. For the sake of discussion, imagine that the man in this example is acting out some skit or script that is wildly interesting and entertaining. However, the merit of the filmable scene 105, whether viewed from a subjective or objective perspective, need not achieve any particular grade in order for the present invention to be employed. In short, scene 105 can be any scene, such as an event, happening or object, that can be filmed. The format of the resulting film can be analog (e.g., VHS or Hi-8) or digital (e.g., MiniDV or D-VHS). Likewise, the chosen format can comply with a number of standards (e.g., NTSC - National Television Standards Committee or PAL - Phase Alternation Line). Generally, any recording technology (e.g., film, video or other) for capturing visual data or visual/audio data will suffice. Thus, the use of the word "film" or "filmable" is intended to refer to all such recording technology.
An ad screening area 110 is included in the filmable scene 105. In the embodiment shown, ad screening area 110 is a rectangular green screen located in the background of the upper right corner of scene 105 (from the viewer's perspective). As scene 105 is filmed, ad screening area 110 remains static while the man wearing many hats does what ever he is supposed to do. In alternative embodiments, ad screening area 110 can be any color or series of colors that are unique to the ad screening area 110. In addition, ad screening area 110 can be any shape, can be located anywhere in scene 105, and need not be static. For example, ad screening area 110 can be blue or red and represent the entire background of scene 105. Likewise, ad screening area 110 can be on, for instance, a pant leg, glove, jacket, or hat worn by the man. There can also be more than one ad screening area 110, where each one is a unique color, or they are all the same color, or some are associated with one color while others are associated with another color.
Ad screening area 110, therefore, can be any area or areas included in scene 105, where each area 110 can be uniquely distinguished from other components included in the scene 105. As explained above, an ad screening area 110 can be uniquely distinguishable from other components included in the scene 105 based on its color. However, other characteristics of an ad screening area 110 can be used to uniquely distinguish it as well. For example, the shape, size or location of an ad screening area 110 can be used to distinguish it from other components included in the scene. One skilled in the art will appreciate the flexibility provided by an ad screening area 110 in light of this disclosure.
Once scene 105 is captured on film, each frame of the film can be processed (e.g., during post production) to replace the image of the ad screening area 110 with images of advertising content (or other images). For purposes of clarity, a frame is intended to include one image plane, and a film includes a series of such image planes. Images that are constant from frame to frame indicate a lack of movement, while images that change over a number of frames indicate movement, or a break in a film sequence. As such, the images depicting scene 105 may indicate movement, while the integrated replacement images (whether ad images or other) might indicate a constant single image (e.g., a company logo, slogan, or website address). Alternatively, the images depicting scene 105 may be constant (e.g., beautiful autumn scenes that change every 60 seconds), while the integrated replacement images might indicate movement or some activity (e.g., an animated company logo, slogan, or scene). Likewise, both scene 105 and the integrated replacement images can indicate movement, or both can indicate lack of movement.
The replacement of an ad screening area 110 image with an advertising content image is facilitated by the unique characteristics of the ad screening area 110. For example, a computer software application used in processing film can be programmed to replace an image having a color (e.g., green or blue) unique to an ad screening area 110 with the image of selected ad content on a frame by frame basis. This concept is generally referred to as green screening, and assumes that the color of an ad screening area 110 (whether green, blue or otherwise) is unique in that no other components included in filmable scene 105 contain that color. Green screening techniques are commonly used in filmmaking in order to create various special effects and illusions, such as a vast field of spaceships engaged in a battle over galaxy domination, or a woman hanging precariously by one hand from a jutting rock over a profoundly deep ravine.
Techniques other than green screening can also be used to distinguish an ad screening area 110 image from images of other components included in the filmable scene 105 in order to facilitate post production processing. For example, each ad screening area 110 can have a unique shape that a pattern recognition module is programmed to detect. In such an embodiment, an ad screening area 110 might have a unique rectangular shape that can be detected by the pattern recognition module during post production processing. Once detected, the image of the uniquely shaped ad screening area 110 can be replaced with an appropriate advertising content image (or other image) on a frame by frame basis. Another technique is to have ad screening areas 110 that have fixed locations. In this embodiment, a fixedly-located ad screening area 110 translates to a specifically located image within each frame of the resulting film of scene 105 (assuming that the camera filming scene 105 was stationary). Post production processing can then include replacing each specifically located image with an image of appropriate ad content on a frame by frame basis.
Regardless of the technique used to distinguish an ad screening area 110 from other components included in the filmable scene 105, the post production process of replacing a particular ad screening area 110 image with advertising content images (without affecting the images of other components) on a frame by frame basis is facilitated. Such a process can be repeated for each unique ad screening area 110 included in scene 105. For example, there may be two separate ad screening areas 110 that are associated with a unique red color, and a third ad screening areas 110 that is associated with a unique blue color. In the event that it is desirable to not have any advertising content in a particular frame, the corresponding ad screening areas 110 included in that frame can simply be replaced with appropriate filler. Note that the post production processing can include other image processing, such as manipulating the size, color, or shape of the selected ad image.
In summary, the image of an ad screening area 110 can be replaced with a selected image, whether the replacement is an ad content image, a customized image or other image.
In this manner, replacement images can be integrated into the frames of a film on a frame by frame basis without overlaying or otherwise obscuring the images of other components included in each frame of film. Because the replacement is done on a frame by frame basis, the replacement images of adjacent frames (in the aggregate) can yield an ad that projects a constant image, or has motion and other visual information that is independent of the other images included in the corresponding frames. Assuming that it would not interfere with the audio of the main presentation, audio information could also be included to complement the ad. Replacement images can also include filler imagery that is consistent with the other images included in the corresponding frames so that it appears the film was never modified, or that there was never an ad screening area 110 included in the original filmable scene 105.
Figure 2 illustrates a frame of a film including ad information in accordance with one embodiment of the present invention. Screen 205 can be, for example, the monitor of a computer system connected to the Internet. Likewise, screen 205 could be the screen of a television connected to the Internet (e.g., via a set-top box). In general, screen 205 can be the display of any device or system that is configured to receive visual data from the
Internet. In this example, a media player (e.g., software application for displaying video and audio information) is running so that a video player window 210 is open and displayed on screen 205. A streaming video 220 is being displayed within the video player window
210. Assume that the streaming video 220 was requested by a user viewing screen 205.
Further assume that the images shown in Figure 2 represent one frame of streaming video
220. This frame includes an image of the man wearing many hats as well as an image of ad screen area 110. However, the image of ad screen area 110 has been replaced (e.g., during post production processing) with an image of ad 215.
This particular ad 215 could be attempting to establish hunger in the viewer by showing a basket of fresh-baked bread. Perhaps in the upcoming frames of streaming video
220, the name and location of a bakery that is local to the viewer will be displayed as ad 215. The system serving the streaming video 220 might have access to demographic data that indicates that this particular viewer is accessing the Internet from an area that is dominated by people who consume substantial baked goods, particularly on Sunday morning. As such, streaming video requests from that area on Sunday morning can be responded to by serving the requested streaming video 220 that contains ad 215, which in this case would be an ad for a local balcery. A detemiination as to which ad 215 should be added to what streaming video 220 can be based on, for example, the nature of the requested streaming video and demographic data associated with the requestor. A system for integrating advertising content into requested video feeds based on various criteria will now be discussed with reference to Figure 3 a.
Figure 3a illustrates a block diagram of a system for serving targeted ad resources in accordance with one embodiment of the present invention. The system includes a web server 310, a database 312, a number of video feeds 315 (only one shown), and a library 320 having a number of targeted ad resources 325 (e.g., 325a, 325b, 325c and 325d). A number of clients 305 (e.g., 305a and 305b) can access the system via web server 310. In general, web server 310 receives a request from a client 305 for a particular video feed 315. Then, web server 310 selects a targeted ad resource 325 from library 320. This selected targeted ad resource 325 is then integrated into video feed 315 on a frame by frame basis, and the resulting modified video feed 315 is served to the requesting client. Each of the components shown in Figure 3 a will now be discussed in more detail.
A client 305 can be, for example, a browser running on a requesting user's computer system. However, any hardware, software, firmware, or combination thereof that can provide a visual interface between a requesting user and web server 310 is representative of a client 305. For example, client 305 could be a set-top box and supporting software that allow a user to communicate with web server 310 via the user's television. Likewise, client 305 can be a media player (e.g., a software application) that is running on a personal digital assistant (PDA) up-linked to web server 310 via a computer system. Those skilled in the art will recognize various other clients 305 in light of this disclosure.
Web server 310 can be, for example, any conventional server (e.g., an Apache web server) capable of serving video feeds, and may be implemented in hardware, software, firmware or any combination thereof. In the embodiment shown, web server 310 includes (or has access to) database 312. In one embodiment, database 312 includes demographic information about clients 305. Such demographic information, which is helpful in targeting the most appropriate ad to a particular viewer, can be obtained by a number of means. For example, online surveys, registrations for online services, or set-top box subscriber records can be used to provide demographic data. Likewise, a customized web page might yield various demographic information. Additionally, various information gathering techniques can be employed, such as an online horoscope service for collecting birth dates, or an online weather service for collecting geographic location information. Demographic information can also be purchased from a third-party that specializes in gathering such information. Demographic information can also be obtained real-time by a cookie placed in the requesting client's browser thereby eliminating the need for a database of such information. Demographic data might include information such as a person's age, gender, income, and geographic location. Numerous other demographic factors can be considered in targeting advertisements. Thus, the source and type of demographic information that is available to web server 310 can vary significantly.
Web server 310 receives requests for page information or media (e.g., streaming video) from clients 305. Video feeds 315 can be supplied to web server 310 from various content providers or sources, and can have a number of formats (e.g., Quick Time, MPEG,
NTSC broadcast or RTP). In one embodiment, once a request for a particular video feed 315 is received from a client 305, web server 310 identifies demographic information (e.g., contained in database 312 or a cookie associated with a requesting client 305) associated with the requesting client 305, and selects a targeted ad resource 325 from library 320 based on the client request and or demographic information. Alternatively, a group of targeted ad resources 325 can be identified based on that demographic information. In this case, the selection process continues with a selection of a targeted ad resource 325 from the identified group. This selection can be, for example, a random selection, or involve a round-robin selection scheme where each targeted ad resource 325 in the selected group is selected once before any one targeted ad resource 325 in the group is selected a second time. Numerous other selection schemes are possible in light of this disclosure.
In addition to demographic data, or as an alternative to demographic data, a targeted ad resource 325 can be selected based on other established criteria such as the shape or size of the ad screening area 110 images included in the frames of the requested video feed 315. For instance, web server 310 can identify (or have prior awareness of) the shape of ad screening area 110 images included in the frames of the requested video feed 315. In one embodiment, the shape of ad screening area 110 images included in the frames of the requested video feed 315 is indicated in header information associated with the requested video feed 315 (e.g., 01 equates to a specific square shape, 10 equates to a specific rectangle shape, and 11 equates to a specific circular shape). Web server 310 can access and interpret such header information thereby identifying the corresponding shape. Alternatively, a patteπi recognition module operatively coupled to web server 310 (not shown) can be employed to detect the shape of ad screening areas 110.
Likewise, web server 310 can identify (or have prior awareness of) the shape of the images associated with targeted ad resources 325 included in library 320. A targeted ad resource 325 associated with images (e.g., frames) that are substantially the same shape as the ad screening area 110 images associated with the requested video feed 315 can thus be identified and selected by web server 310. By using ad images that have substantially the same shape as the corresponding ad screening area 110 images, post production processing time can be reduced. For example, the need to conduct image processing (e.g., stretching, shrinking or truncating) to make the selected ad image fit the corresponding ad screening area 110 is substantially reduced or eliminated.
The targeted ad resources 325 can be organized in library 320 based on various established criteria. For example, targeted ad resources 325 can be organized in library 320 based on general advertising themes, the shape of the frames associated with each targeted ad resource 325, demographic data associated with each targeted ad resource 325, or a combination thereof. In one embodiment, demographic information can be associated with various shaped frames. For example, targeted ad resources 325 directed to 25 to 30 year-old males living in the New York City area and having a annual income of $75 to $100,000 can have a square shape, while targeted ad resources 325 directed to 25 to 30 year-old females living in the New York City area and having a annual income of $75 to $100,000 can have a rectangular shape. In such an embodiment, the targeted ad resources 325 can be organized in the library based on the frame shape associated with each ad 325. , Thus, once a request for a video feed is received and demographic information associated with the client request is identified, a targeted ad resource 325 having a shape (e.g., frame shape or image shape) that corresponds to that particular user's demographic data can be retrieved from library 320 for integration into the requested video feed 315. Such a technique abstracts a potentially complex array of demographic data into a single attribute thereby simplifying organization of library 320, as well as the identification and retrieval of selected targeted ad resources 325.
In one embodiment, targeted ad resources 325 are stored in library 320 in a frame by frame format so as to facilitate the integration process. For example, each frame of a selected targeted ad resource 325 can be associated with a corresponding frame of the requested video feed 315. Generally, the selected targeted ad resource 325 can have any number of frames that is necessary to communicate its intended advertising purpose. For example, in a thousand frame requested video feed 315, only twenty frames are modified to include the corresponding twenty frames of a first selected targeted ad resource 325 (e.g., targeted ad resource 325a). However, for a different client 305 that requested the same thousand frame requested video feed 315, nine hundred and fifty frames are modified to include the corresponding nine hundred and fifty frames of a second selected targeted ad resource 325 (e.g., targeted ad resource 325d). The number of frames modified in video feed 315 depends on factors such as the temporal length of the integrated message being communicated, and rate at which the modified frames are presented on the requestor's display. Although the present invention can work with granularities as fine as a single frame, a preferred embodiment inserts an image into multiple frames in order to leave a lasting impression with the viewer.
Once web server 310 has selected a targeted ad resource 325, web server 310 can perform a modification process where the selected targeted ad resource 325 is integrated into the appropriate location of the requested video feed 315. In one embodiment, web server 310 includes or is operatively coupled to an integration module (e.g., implemented in hardware, software, firmware or a combination thereof) for performing this integration process. Such an integration module can be used to perform any necessary image processing to facilitate the integration of the selected targeted ad resource 325 into the appropriate location of the requested video feed 315. For example, the size or shape of the ad images making up the selected targeted ad resource 325 can be manipulated (e.g., stretched, shrunk, truncated or enhanced) so that each ad image physically and or aesthetically fits into the corresponding ad screening area 310 image of the video feed. Other image features, such as color, brightness, contrast, can also be manipulated with image processing during the post production integration process.
The selected targeted ad resource 325 can be integrated on a frame by frame basis into ad screening area 110 images included in the frames making up video feed 315 using a number of techniques (e.g., green screen techniques, pattern recognition techniques, or fixed ad screening area 110 location techniques) as explained in reference to Figure 1. In addition, the frames of the selected targeted ad resource 325 can yield, for example, a full motion video where the visual image is changed 30 or more times a second. Alternatively, the frames of the selected targeted ad resource 325 can yield, for example, a freeze frame video where the image is changed once every several seconds. Alternatively, the frames of the selected targeted ad resource 325 can yield, for example, a constant image that does not change. Regardless of the ad images yielded or what technique is used to integrate the selected targeted ad resource 325 into the requested video feed 315 on a frame by frame basis, web server 310 serves the resulting modified video feed 315 in response to the request made by client 305.
As an alternative to modifying requested video feeds 315 with targeted ad resources 325 in real-time (e.g., performing the integration process after receiving a request for the video feed 315), requested video feeds 315 can be modified with targeted ad resources 325 in advance of receiving a request. In such an embodiment, library 320 might include a number pre-modified video feeds 315 (not shown) that have respective targeted ad resources 325 already integrated therein. The structural organization of such a library 320 can have many forms. For example, structural organization of library 320 might include two levels: a top level and a sub-level. The top level can be organized alphabetically by the name of all video feeds 315 that can be requested. Alternatively, other top level identifiers, such as a serial number associated with each video feed 315 that can be requested, can be used to organize the top level.
The sub-level under each top level identifier can include a number of copies of the same video feed 315, each copy having a different targeted ad resource 325 integrated therein. This sub-level of library 320 can be organized, for example, by general advertising themes, demographic data associated with each targeted ad resource 325, or a combination thereof. In such an embodiment, once a request for a video feed 315 is received from a client 305, the top level of library 320 can be parsed to locate the top level identifier (e.g., name or serial number) that corresponds to the received request. Once the corresponding top level identifier is found, the corresponding sub-level can be parsed to identify the targeted ad resource 325 that best corresponds to the sub-level identifiers (e.g., demographic data or advertising theme). Library 320 can alternatively employ other organizational structures, such as a tree structure. Factors such as the ratio of targeted ad resources to available video feeds will dictate the best organizational structure to employ in library 320.
In the example shown in Figure 3a, assume that demographic data associated with client 305a (and stored in web server 310) indicates that the corresponding user is a 21 year old new college graduate who lives in Florida and has accepted a new position having a starting salary of $60,000. Further, assume that demographic data associated with client 305b (and stored in web server 310) indicates that the corresponding user is a 50 year old company president who lives in northern Maine and has an annual salary of $400,000. Further, assume that each user has requested a video feed 315. The requested video feeds 315 may be the same, or different.
For the sake of discussion, further assume web server 310 selects targeted ad resource 325a for integration into the requested video feed 315 that will be served to client 305a. This selection can be based on, for example, the requested video feed 315 and the demographic data associated with client 305a. Further, assume targeted ad resource 325a is directed to a convertible sports car having a price range of $18,000 to $26,000. Figure 3b illustrates an example video feed 315 that can be served in response to the request from client 305a. The video feed 315 has targeted ad resource 325a integrated therein. Note that the text included in targeted ad resource 325a reads, "Don't you deserve a new [image of convertible sports car]" thereby acknowledging and affirming graduation from college.
On the other hand, assume web server 310 selects targeted ad resource 325c for integration into the requested video feed 315 that will be served to client 305b. This selection can be based on, for example, the demographic data associated with client 305b. For the sake of discussion, assume targeted ad resource 325c is directed to a luxury sedan having a price range of $75,000 to $90,000. Figure 3c illustrates an example video feed 315 that can be served in response to the request from client 305b. The video feed 315 has targeted ad resource 325c integrated therein. Note that the text included in targeted ad resource 325c reads, "You've earned a new [image of luxury sedan]" thereby acknowledging and affirming years of hard work and a successful career.
While advertising and marketing professionals can provide the objectives and substance of targeted ad resources 325, techniques described herein can then be used to deploy and present those targeted ad resources 325.
Figure 4 illustrates a block diagram of a system having a scalable architecture for serving targeted ad resources in accordance with one embodiment of the present invention. The system includes a load balancer 415, a resource manager 405, available resources 410, a number of stream servers 420 (e.g., 420a, 420b, 420c and 420d), a database 422, a number of in-stream ad placement servers 425 (e.g., 425a and 425b), a number of broadcasts 430 (e.g., 430a, 430b, 430c and 430d), a number of frame generators 435 (e.g., 435a, 435b, 435c and 435d), and a number of content providers 440 (e.g., 440a, 440b, 440c and 440d). A number of clients 305 (e.g., 305a and 305f) can access the system. Each of the components will now be described in more detail.
Clients 305 were discussed in reference to Figure 3a and that discussion equally applies here. In general, a client 305 is any online device (e.g., hardware, software, firmware or a combination thereof) that is configured to receive streaming video. Load balancer 415 receives requests (e.g., video requests) from clients 305 and distributes those requests evenly among the number of stream servers 420 pursuant to a load balancing algoritlim. Other conventional load distribution means can be used as well to ensure that no one stream server 420 is overloaded more than other stream servers 420. In the embodiment shown, there are four stream servers 420 (a-d). However, the number of stream servers 420 can vary depending on, for example, desired system performance and number of requests received from clients 305.
A stream server 420 is essentially a web server (e.g., an Apache web server) that is optimized to process requests for streaming video, and can be implemented in hardware, software, firmware, or a combination thereof. In one embodiment, each stream server 420 includes (or has access to) database 422. Database 422 can include, for example, demographic information about clients 305. For the sake of clarity, demographic information can be any information that can be used to categorize a particular person for the purposes of targeting advertising to that person. Once a stream server 420 receives a client request via load balancer 415, that stream server 420 associates the request with the appropriate demographic information (e.g., from database 422). The stream server 420 then sends a request to resource manager 405 for an in-stream ad placement server 425. This request can be based on, for example, the requested video, the demographics associated with the request, or a combination thereof. The form of the request can be, for example, a set of arguments that are descriptive of the requested video and the associated demographics.
Resource manager 405, which can be a server or other suitable processing environment (e.g., implemented in hardware, software, firmware, or a combination thereof), receives the request for an in-stream ad placement server 425. Resource manager 405 then detennines whether an in-stream ad placement server 425 that is responsive to the request is already allocated. In one embodiment, resource manager 405 maintains an accounting of each allocated in-stream ad placement server 425, and what type of request each allocated in-stream ad placement server 425 is responsive to. A coding scheme can be implemented to simplify the comparison and response process of resource manager 405.
For example, assume that the total number of videos that can be requested by any one client 305 is twenty, and that there are five types of users (e.g., based on demographic data categorizations). In such an embodiment, there are one hundred possible request-types that resource manager 405 can receive from a stream server 420. Each request-type can be included in, for example, a database, list, or look-up table that is included in (or accessible by) resource manager 405. Additionally, each request-type can be associated with a status. For example, if a status bit associated with a particular request-type is low, for instance, then an in-stream ad placement server 425 is already allocated for the request associated with that request-type. On the other hand, if the status bit is high, then an in-stream ad placement server 425 is not allocated for the request associated with that request-type.
If resource manager 405 determines an in-stream ad placement server 425 is already allocated for the request, then resource manager 405 returns the address of that already allocated in-stream ad placement server 425 to the requesting stream server 420. The requesting stream server 420 can then access that allocated in-stream ad placement server 425, receive the modified video feed (e.g., having an ad integrated therein), and serve that video feed to the requesting client 305. In one embodiment, in-stream ad placement server 425 integrates an ad into the requested video feed using post production techniques as described in reference to Figure 1. In such an embodiment, an in-stream ad placement server 425 might be dedicated to placing one or two particular ads that can be integrated into the requested video feed.
Alternatively, an in-stream ad placement server 425 can include a database of ads that can be integrated into the requested video feed. The ads in the database can, for example, have a common theme or marketing purpose, and can be targeted to a user belonging to a particular categorization based on demographic data or other established criteria. Each database can be sub-divided, where each sub-division is dedicated to ads targeted to users belonging to a particular categorization based on demographic data. Thus, each in-stream ad placement server 425 can be dedicated to a number of certain user categorizations. However, each in-stream ad placement server 425 can also provide a database of ads that are unrelated and not targeted to any one type of user.
If, however, resource manager 405 determines an in-stream ad placement server 425 is not already allocated for the request, then resource manager 405 allocates an available stream server 420. In the embodiment shown, resource manager 405 accesses available resources 410, which can be a listing of addresses of in-stream ad placement servers 425 that are available for allocation. Resource manager 420 selects an available in-stream ad placement server 425, and configures that available in-stream ad placement server 425 to be responsive to the request of the requesting stream server 420. A status bit associated with the request-type corresponding to the stream server 420 request can be, for example, set to low thereby indicating an in-stream ad placement server 425 is now allocated for that request-type. Resource manager 420 then returns the address of that in-stream ad placement server 425 to the requesting stream server 420. The requesting stream server 420 can then access that newly allocated in-stream ad placement server 425, and serve the modified video feed to the requesting client 305.
Each allocated in-stream ad placement server 425 is configured to receive at least one broadcast 430. In the embodiment shown, in-stream ad placement server 425 a is receiving broadcast 430a, and in-stream ad placement server 425b is receiving broadcast 43 Od. Note that broadcasts 430b and 430c are inactive, meaning that they are not currently being viewed by any user. However, should a client 305 request an inactive broadcast 430, an in-stream ad placement server 425 corresponding to the request-type associated with that request will be allocated and configured to receive and process that requested broadcast 430, thereby yielding an active broadcast.
In general, broadcasts 430 are transmissions of video feeds (e.g., streaming or realtime video). Each broadcast 430 is simultaneously available to multiple clients 305 via load balancer 415, stream server 420 and in-stream ad placement server 425. The substance or content of each broadcast 430 is provided by a content provider 440. Content provider 440 provides a streaming video transmission (e.g., Quick Time, MPEG, NTSC broadcast or RTP), which is received by a corresponding frame generator 435. Frame generator 435 renders frames from the streaming video transmission provided by the corresponding content provider 440. The frames generated by frame generator 435 are then transmitted thereby yielding broadcast 430.
In one embodiment, frame generator 435 employs a CODEC (compressor/decompressor) that renders RGB (red, green, blue) frames from the streaming video transmission provided by the corresponding content provider 440. Other CODEC-types and color schemes may be employed as well. The RGB images can be broadcast, for example, via user datagram protocol (UDP), which is a connectionless protocol that runs on top of Internet protocol (IP) networks, such as the World Wide Web. Other protocols suitable for transmitting broadcasts 430 can also be used.
In one embodiment, in-stream ad placement server 425 includes (or has access to) an integration module for integrating ad images into frames of the broadcast. In such an embodiment, the integration module might employ an application programming interface such as JAVA MEDIA FRAMEWORK (IMF) for incorporating audio, video and other time-based media into other applications or applets. In such an embodiment, a custom object (referred to as a pull buffer) for retrieving data from a source is defined to pull data from broadcast 430. For example, the pull buffer grabs a number of frames from a broadcast 430. In-stream ad placement server 425 then integrates a selected ad image into each of the grabbed frames using green screening techniques (or other post production techniques) as explained above. This modified frame is then used to create a buffer object, which allows the modified frame to be added back into the stream. The stream containing the modified frames is applied to stream server 420 for service to the requesting client 305 via load balancer 415.
In alternative embodiments, toolsets or application programming interfaces other than JMF can be employed for integrating the ad images into the requested video stream. Additionally, stream servers 420 and in-stream ad placement servers 425 can be implemented on separate machines, or on the same machines. For example, steam server 420a, stream server 420b, and in-stream ad placement server 425a can all be implemented on one machine. Alternatively, each of these servers can be implemented on a separate machine. Numerous other configurations for stream servers 420 and in-stream ad placement servers 425 are possible, and the selected configuration depends on factors such as the requisite processing power and individual machine processing capacity.
Figure 5 illustrates a method for managing the resources of a system for serving in- stream video ads in accordance with one embodiment of the present invention. The method begins by receiving 505 a client request for steaming media (e.g., real-time video or realtime video having an audio component). The method continues with categorizing 510 the client request based on established criteria. For example, the client request can be categorized based on the client request and demographics of the client. Alternatively, the ad placement server can be requested based on some other information, or the request can be for any available ad placement server (e.g., arbitrary or random selection). Steps 505 and 510 might be independently performed, for example, by a stream server 420, while the remaining steps might be independently performed, for example, by resource manager 405 (as discussed in reference to Figure 4). However, this method is not intended to be limited any one embodiment disclosed herein.
The method further includes determining 515 whether an ad server that is responsive to the client request is currently allocated. If this determination is positive, the method includes associating 530 the allocated server with the client request. This association can be achieved, for example, by identifying the address of the allocated ad server. If this determination is negative, on the other hand, the method includes allocating 520 an ad server from the ad servers that are currently available (e.g., based on available resources 410). The method then proceeds with configuring 525 that ad server so that it is responsive to the client request. The method continues with associating 530 the allocated server with the client request. Figure 6 illustrates a method for serving in-stream video ads in accordance with one embodiment of the present invention. This method might be performed, for example, by an in-stream ad placement server 425 (as discussed in reference to Figure 4). However, this method is not intended to be limited any one embodiment disclosed herein. The method begins by receiving 605 a broadcast that is responsive to a client request for steaming media (e.g., real-time video). The method proceeds with retrieving 610 a number of still frames from the broadcast, and integrating 615 an ad image to an ad screening area image included in each still frame. Once the ad image is integrated into the still frame, the method includes incorporating 620 the modified still frames back into the broadcast. The method further includes streaming 625 the broadcast containing the modified frames to the requesting client.
The foregoing description of the embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.

Claims

What is claimed is:
I. A method for serving in-stream video ads, the method comprising: receiving a client request for streaming video; categorizing the client request based on established criteria; determining whether a system resource that satisfies the established criteria is already allocated for serving the requested streaming video; in response to a system resource that satisfies the established criteria being already allocated, associating the already allocated system resource with the client request; and serving the requested streaming video having a number of ad images integrated therein to a client associated with the client request.
2. The method of claim 1 wherein the established criteria includes at least one of the client request and demographics associated with the client.
3. The method of claim 1 further comprising: in response to a system resource that satisfies the established criteria not being already allocated, allocating a system resource from available system resources; and associating the newly allocated system resource with the client request.
4. The method of claim 3 further comprising: configuring the newly allocated system resource to respond to the client request based on the established criteria associated with the client request.
5. The method of claim 1 further comprising: indicating whether each one of a number of system resources is one of already allocated, or available to be allocated.
6. The method of claim 1, wherein the ad images are integrated into the requested streaming video by: replacing an ad screening area image included in a frame of the streaming video with one of the ad images; and repeating the replacing step on a frame by frame basis.
1. The method of claim 6, wherein the steps of replacing and repeating are performed by an allocated system resource.
8. The method of claim 6, wherein the step of replacing is implemented using one of a green screen technique, a pattern recognition technique, or a fixed ad screening area image location teclmique.
9. A method for integrating an ad image into a requested streaming video, the method comprising: receiving a video feed that is responsive to a client request for streaming video; replacing an ad screening area image included in a frame of the video feed with an ad image, thereby yielding a modified frame; and streaming the video feed containing the modified frame to the requesting client.
10. The method of claim 9, further comprising: identifying demographic information associated with the client request; and selecting a targeted ad resource based on the demographic information, the selected targeted ad resource including the ad image used in replacing the ad screening area image.
11. The method of claim 9, wherein the step of replacing is performed on a number of frames on a frame by frame basis thereby yielding a number of modified frames.
12. The method of claim 9, wherein the step of replacing is implemented using one of a green screen technique, a pattern recognition technique, or a fixed ad screening area image location technique.
13. The method of claim 9, wherein the video feed is a broadcast.
14. A method for providing streaming video content to a video ad placement server module, the method comprising: receiving a video transmission from a content provider; rendering frames of video from the video transmission thereby yielding a streaming video; broadcasting the streaming video; and receiving the broadcasted streaming video at a video ad placement server module allocated to receive the streaming video and to integrate a targeted ad image into the streaming video, thereby yielding an active broadcast.
15. The method of claim 14 further comprising: receiving a second video transmission from a second content provider; rendering frames of video from the second video transmission thereby yielding a second streaming video; broadcasting the second streaming video; and not receiving the broadcasted second streaming video at a video ad placement server module allocated to receive the streaming video, thereby yielding an inactive broadcast.
16. The method of claim 14 further comprising: receiving a second video transmission from a second content provider; rendering frames of video from the second video transmission thereby yielding a second streaming video; broadcasting the second streaming video; and receiving the broadcasted second streaming video at a second video ad placement server module allocated to receive the streaming video, thereby yielding a second active broadcast.
11. A method for facilitating post production integration of advertising images into a streaming video resulting from filming of a scene, the method comprising: providing an ad screening area in the scene, the ad screening area having a characteristic that allows the ad screening area to be distinguished from other components included in the scene; based on the distinguishing characteristic associated with the ad screening area, identifying an image of the ad screening area in a frame of the resulting video; replacing the image of the ad screening area included in the frame with an ad image selected based on demographic data, thereby creating a modified frame; and repeating the identifying and replacing steps for a number frames of the resulting video.
18. The method of claim 17, wherein the identifying characteristic of the ad screening area is one of color, shape or position within the frame.
19. A system for integrating ad images into a video feed that is responsive to a client request, the system comprising: a server for identifying established criteria associated with the client request, for selecting a targeted ad resource based on the established criteria, and for serving the video feed containing a modified frame to a client associated with the client request; and an integration module operatively coupled to the server, the integration module for replacing an ad screening area image included in a frame of the video feed with an ad image included in the targeted ad resource, thereby yielding the modified frame.
20. The system of claim 19 wherein the established criteria includes at least one of the client request and demographics associated with the client.
21. The system of claim 19 further comprising: a library that includes a number of targeted ad resources, and is accessible by the server, wherein the server selects the targeted ad resource from the library.
22. The system of claim 19, wherein the integration module performs the replacing on a number of frames on a frame by frame basis thereby yielding a number of modified frames.
23. The system of claim 19, wherein the integration module employs one of a green screen technique, a pattern recognition technique, or a fixed ad screening area image location technique in replacing an ad screening area image with an ad image.
24. The system of claim 19 wherein the established criteria includes demographics associated with the client, and the demographics are either stored in a database accessible by the server, or stored in a cookie located in a browser associated with the client request.
25. A system for serving a video feed in response to a request from a client, the system comprising: a number of stream server modules for receiving client requests for video feeds and for categorizing each client request based on established criteria; a number of ad placement server modules, each one having a status of available to be allocated or already allocated, and for integrating an ad into a requested video feed; and a resource manager module operatively coupled to each of the stream server modules for determining whether an ad placement server module that satisfies the established criteria associated with a client request has an allocated status, and in response to an ad placement server that satisfies the established criteria having an allocated status, for associating the allocated ad placement server with the client request.
26. The system of claim 25 wherein the established criteria includes at least one of the client request and demographics associated with the client.
27. The system of claim 25, wherein each ad placement server module employs one of a green screen technique, a pattern recognition technique, or a fixed ad screening area image location technique in integrating a video ad into a requested video feed.
28. The system of claim 25, wherein in response to no ad placement servers that satisfy the established criteria having an allocated status, the resource manager allocates an ad placement server module that has an available to be allocated status, configures that ad placement server module to be responsive to the client request, and associates that ad placement server module with the client request.
29. The system of claim 25 wherein the established criteria includes demographics associated with the client, and the demographics are either stored in a database accessible by the stream server modules, or stored in a cookie located in a browser associated with the request from the client.
PCT/US2001/046800 2000-11-06 2001-11-06 Integrated in-stream video ad serving WO2002037828A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002227260A AU2002227260A1 (en) 2000-11-06 2001-11-06 Integrated in-stream video ad serving

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70759600A 2000-11-06 2000-11-06
US09/707,596 2000-11-06

Publications (1)

Publication Number Publication Date
WO2002037828A2 true WO2002037828A2 (en) 2002-05-10

Family

ID=24842330

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/046800 WO2002037828A2 (en) 2000-11-06 2001-11-06 Integrated in-stream video ad serving

Country Status (2)

Country Link
AU (1) AU2002227260A1 (en)
WO (1) WO2002037828A2 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008127989A1 (en) * 2007-04-11 2008-10-23 At & T Intellectual Property I, L.P. Method and system for video stream personalization
US8601050B2 (en) 1996-06-12 2013-12-03 Michael Carringer System and method for generating a modified web page by inline code insertion in response to an information request from a client computer
US8606637B1 (en) 2007-09-04 2013-12-10 Sprint Communications Company L.P. Method for providing personalized, targeted advertisements during playback of media
US8806530B1 (en) 2008-04-22 2014-08-12 Sprint Communications Company L.P. Dual channel presence detection and content delivery system and method
EP2765781A1 (en) * 2013-02-07 2014-08-13 Thomson Licensing Method for providing targetable content in images of a video sequence and corresponding device
EP2822288A1 (en) * 2013-07-01 2015-01-07 Thomson Licensing Method and apparatus for frame accurate advertisement insertion
US8990104B1 (en) 2009-10-27 2015-03-24 Sprint Communications Company L.P. Multimedia product placement marketplace
US9130765B1 (en) * 1996-06-12 2015-09-08 Michael Carringer System and method for generating a modified web page by inline code insertion in response to an information request from a client computer
EP2928196A1 (en) 2014-04-01 2015-10-07 Thomson Licensing Method of video streaming and corresponding device
EP3057261A4 (en) * 2013-10-11 2016-09-28 Panasonic Ip Corp America Transmission method, reception method, transmission device, and reception device
US9584844B2 (en) 2013-11-21 2017-02-28 Thomson Licensing Sas Method and apparatus for matching of corresponding frames in multimedia streams
US10552074B2 (en) 2016-09-23 2020-02-04 Samsung Electronics Co., Ltd. Summarized data storage management system for streaming data
US10575067B2 (en) 2017-01-04 2020-02-25 Samsung Electronics Co., Ltd. Context based augmented advertisement
US10726443B2 (en) 2016-07-11 2020-07-28 Samsung Electronics Co., Ltd. Deep product placement
US10970739B2 (en) 2015-02-11 2021-04-06 The Nielsen Company (Us), Llc Methods and apparatus to detect advertisements embedded in online media
CN113170229A (en) * 2018-11-19 2021-07-23 三星电子株式会社 Display device, server, electronic device and control method thereof
DE102020134828A1 (en) 2020-12-23 2022-06-23 Sascha Stojakovic Influencing device, information transfer system, influencing method, data carrier
US11682045B2 (en) 2017-06-28 2023-06-20 Samsung Electronics Co., Ltd. Augmented reality advertisements on objects

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9130765B1 (en) * 1996-06-12 2015-09-08 Michael Carringer System and method for generating a modified web page by inline code insertion in response to an information request from a client computer
US8601050B2 (en) 1996-06-12 2013-12-03 Michael Carringer System and method for generating a modified web page by inline code insertion in response to an information request from a client computer
US9021023B2 (en) 1996-06-12 2015-04-28 Smooth Ride, Series 53 Of Allied Security Trust I System and method for generating a modified web page by inline code insertion in response to an information request from a client computer
US9754353B2 (en) 2007-04-11 2017-09-05 At&T Intellectual Property I, L.P. Method and system for video stream personalization
WO2008127989A1 (en) * 2007-04-11 2008-10-23 At & T Intellectual Property I, L.P. Method and system for video stream personalization
US10820045B2 (en) 2007-04-11 2020-10-27 At&T Intellectual Property I, L.P. Method and system for video stream personalization
US9137497B2 (en) 2007-04-11 2015-09-15 At&T Intellectual Property I, Lp Method and system for video stream personalization
US8606637B1 (en) 2007-09-04 2013-12-10 Sprint Communications Company L.P. Method for providing personalized, targeted advertisements during playback of media
US10181132B1 (en) 2007-09-04 2019-01-15 Sprint Communications Company L.P. Method for providing personalized, targeted advertisements during playback of media
US8806530B1 (en) 2008-04-22 2014-08-12 Sprint Communications Company L.P. Dual channel presence detection and content delivery system and method
US8990104B1 (en) 2009-10-27 2015-03-24 Sprint Communications Company L.P. Multimedia product placement marketplace
US9940644B1 (en) 2009-10-27 2018-04-10 Sprint Communications Company L.P. Multimedia product placement marketplace
WO2014122141A1 (en) 2013-02-07 2014-08-14 Thomson Licensing Method for providing targeted content in image frames of a video and corresponding device
JP2016509811A (en) * 2013-02-07 2016-03-31 トムソン ライセンシングThomson Licensing Method and corresponding device for providing targeted content in video image frames
EP2765781A1 (en) * 2013-02-07 2014-08-13 Thomson Licensing Method for providing targetable content in images of a video sequence and corresponding device
EP2822287A1 (en) * 2013-07-01 2015-01-07 Thomson Licensing Method and apparatus for frame accurate advertisement insertion
EP2822288A1 (en) * 2013-07-01 2015-01-07 Thomson Licensing Method and apparatus for frame accurate advertisement insertion
EP3057261A4 (en) * 2013-10-11 2016-09-28 Panasonic Ip Corp America Transmission method, reception method, transmission device, and reception device
US9584844B2 (en) 2013-11-21 2017-02-28 Thomson Licensing Sas Method and apparatus for matching of corresponding frames in multimedia streams
JP2015198452A (en) * 2014-04-01 2015-11-09 トムソン ライセンシングThomson Licensing Method of video streaming, and corresponding device and system
EP2928197A1 (en) 2014-04-01 2015-10-07 Thomson Licensing Method of video streaming, corresponding device and system
EP2928196A1 (en) 2014-04-01 2015-10-07 Thomson Licensing Method of video streaming and corresponding device
US10970739B2 (en) 2015-02-11 2021-04-06 The Nielsen Company (Us), Llc Methods and apparatus to detect advertisements embedded in online media
US11423437B2 (en) 2015-02-11 2022-08-23 The Nielsen Company (Us), Llc Methods and apparatus to detect advertisements embedded in online media
US10726443B2 (en) 2016-07-11 2020-07-28 Samsung Electronics Co., Ltd. Deep product placement
US10552074B2 (en) 2016-09-23 2020-02-04 Samsung Electronics Co., Ltd. Summarized data storage management system for streaming data
US10575067B2 (en) 2017-01-04 2020-02-25 Samsung Electronics Co., Ltd. Context based augmented advertisement
US11682045B2 (en) 2017-06-28 2023-06-20 Samsung Electronics Co., Ltd. Augmented reality advertisements on objects
CN113170229A (en) * 2018-11-19 2021-07-23 三星电子株式会社 Display device, server, electronic device and control method thereof
CN113170229B (en) * 2018-11-19 2023-09-19 三星电子株式会社 Display device, server, electronic device and control method thereof
DE102020134828A1 (en) 2020-12-23 2022-06-23 Sascha Stojakovic Influencing device, information transfer system, influencing method, data carrier

Also Published As

Publication number Publication date
AU2002227260A1 (en) 2002-05-15

Similar Documents

Publication Publication Date Title
WO2002037828A2 (en) Integrated in-stream video ad serving
US11166074B1 (en) Creating customized programming content
JP4625610B2 (en) Method and apparatus for displaying program recommendations with indicators indicating the strength of contribution of important attributes
KR100769385B1 (en) Enhanced video programming system and method utilizing user-profile information
US6006257A (en) Multimedia architecture for interactive advertising in which secondary programming is varied based upon viewer demographics and content of primary programming
JP4839426B2 (en) Computerized system and method for enhancing advertising effectiveness
RU2532731C2 (en) Server and targeted advertising method
US20080189736A1 (en) System and method for displaying information related to a television signal
US20010021994A1 (en) Television
US20030135853A1 (en) System and method of inserting advertisements into an information retrieval system display
US20120284737A1 (en) System and Method for a Video Content Service Monitoring and Provisioning Architecture
JP2013258746A (en) Targeted video advertising
JP5248239B2 (en) Distribution system, distribution system server, distribution system terminal, distribution method
CN1352776A (en) Smart agent based on habit, statistical inference and psycho-demographic profiling
EP1579673A2 (en) Triggered video system
CA2387562A1 (en) Method and system for providing targeted advertisements
KR20000017807A (en) A advertisement operating system based on network and advertisement operating method thereof
CN112528050B (en) Multimedia interaction system and method
KR20010037487A (en) The composition and method of operation for informational advertisement system on personal online
US20190281345A1 (en) Systems and methods for providing targeted content in an embms stream to a user device
US20050203797A1 (en) Information distribution method and apparatus, business method and computer-readable storage medium
Robert et al. THE FUTURE OF MOVIES: WILL OTT TAKE OVER THEATRES?
Bush et al. A content analysis of direct response television advertising
JP2008199124A (en) Video image distribution system performing related information distribution corresponding to view history in combination
KR20000063633A (en) Advertisement method using internet moving pictures

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WA Withdrawal of international application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642