Animated video overlays

A video server provides video content to a client via a network. At the instruction of the video server, a player at the client contacts an ad server and downloads one or more creatives and a controller file to the client. The controller file indicates how the creative manifests itself in play. The player displays the video content in a display area at the client. The controller file causes the creative to appear as an animated overlay over the video content. User interface elements indicate the point in the video when the creative appears, and allow the user to minimize and replay the creative. The player can also display other creatives, such as a static creative that is associated with the animated creative. A user can select the creative to view additional information about a product advertised by the creative.

BACKGROUND

1. Field of the Invention

This invention pertains in general to web-based video display and specifically to managing video and advertising content in an online content distribution system.

2. Description of the Related Art

The sharing of video content on websites has developed into a worldwide phenomenon, supported by dozens of websites. On average, over 10,000 videos are posted every day, and this number is increasing as the tools and opportunities for capturing video become easy to use and more widespread. Shared video content provides opportunities to present advertising material to viewers along with the requested video content. However, some mechanisms for delivering advertising with shared video have been relatively ineffective, while others are perceived by users as being objectionable.

People who use video sharing services have a wide range of motivations for using those services. Some are interested in specific information in the shared content, while others are just browsing in a leisurely manner through the content. Advertising that appears in conjunction with the video content, in order to be effective as well as maintain a satisfactory experience for the user, needs to be presented in a manner that takes these widely varying user characteristics into account. Ideally, the advertisements are presented in a manner that minimizes user abandonment of videos in response to what is perceived as intrusive advertising.

For example, an advertisement that appears before a requested video is likely to be viewed by the user. However, such pre-roll ads can also cause the user to grow impatient while waiting for the requested video to appear and lead the user to abandon the video. Additionally, a user can easily ignore a post-roll advertisement that appears after the requested video.

There remains a need for a way to present requested video content and advertising in a manner that is both satisfying to the viewer and effective for advertisers.

SUMMARY

The above and other needs are met by displaying an animated creative (such as an advertisement) in association with the video. One embodiment of a method for displaying a creative in association with a video comprises causing the video to play in a video area of a user interface on a client, causing the creative to display in a portion of the video area, the creative overlaid on the playing video, and causing display of a companion video in response to selection of the creative by a user of the client. The companion video appears in the video area superimposed over a partial portion of the video.

Another embodiment includes a computer-readable storage medium storing computer program instructions for displaying a creative in association with a video. The computer program instructions comprise a player module configured to receive a video for displaying in a display area of a client, a creative associated with the video, and a controller file specifying how the creative manifests during display of the video. The computer program instructions further comprise a player control module configured to receive the controller file and to display the creative in a portion of the display area overlaid on the displayed video responsive at least in part to the controller file.

Another embodiment comprises displaying a progress bar illustrating a length of the video being played and a current playback position of the video and displaying an indicator on the progress bar indicating a playback position of the video at which a creative is displayed. The creative is displayed as an overlay superimposed over the video.

DETAILED DESCRIPTION

FIG. 1is a high-level block diagram of a computing environment100according to one embodiment.FIG. 1illustrates a video server110, an advertisement server (the “ad server”)112, and a client114connected by a network116. Only one client114is shown inFIG. 1in order to simplify and clarify the description. Embodiments of the computing environment100can have thousands or millions of clients114, as well as multiple video110and ad112servers connected to the network116.

The video server110provides video content (referred to herein as a “video”) to the client114via the network116. In one embodiment, the video server110is located at a website provided by YOUTUBE, LLC of San Bruno, Calif., although the video server can also be provided by another entity. The video server110includes a database storing multiple videos. A user of a client114can browse or search the videos in the database and request one or more videos and/or other content to watch. The video server110provides the requested content to the client114.

The ad server112manages and stores advertising content, and also provides the advertising content to the client114via the network116. In some instances, the advertising content is in the same format as the content provided by the video server110(e.g., video advertising). In other instances, other types of advertising are presented to the user, such as pure text advertising, advertising providing a hyperlink to an advertiser's website, text-and-audio advertising, and static image advertising. In addition, the ad server112can provide multiple types of ad content to a single client114. In one embodiment, the functions of the ad server112are provided by the video server110.

A unit of advertising content provided by the ad server112is referred to as a “creative”113. The ad server112provides a creative113to the client114in response to a request from the client. For certain types of creatives, the ad server112also provides the client114with information describing how the creative113manifests itself in play. In one embodiment, this information is collected in a file called a “controller”115.

The client114is a computer or other electronic device used by one or more users to perform activities including viewing video content received from the video server110and viewing creatives received from the ad server112. The client114, for example, can be a personal computer executing a web browser that allows the user to browse the video content available at the video server web site. In other embodiments, the client112is a network-capable device other than a computer, such as a personal digital assistant (PDA), a mobile telephone, a pager, a television “set-top box,” etc.

When the user requests a video, the video server110provides the video to the client114via the network116. At the instruction of the video server110, a player118at the client114contacts the ad server112and downloads one or more creatives and controller files to the client114. The player118displays the video and creative113at the client114. In one embodiment, the controller file115causes the creative113to appear as an animated mid-roll overlay over the video. For example, the player118displays the creative113across the bottom of the area displaying the video15seconds after the beginning of the video. Once the creative113completes its display, the player118minimizes the creative113and provides a user interface element allowing the user to replay the creative113if desired. The player118can also display other creatives, such as a static creative that is associated with the animated creative113.

The network116represents the communication pathways between the video server110, ad server112, and clients114. In one embodiment, the network116is the Internet. The network114can also utilize dedicated or private communications links that are not necessarily part of the Internet. In one embodiment, the network114uses standard communications technologies and/or protocols. Thus, the network114can include links using technologies such as Ethernet, 802.11, integrated services digital network (ISDN), digital subscriber line (DSL), asynchronous transfer mode (ATM), etc. Similarly, the networking protocols used on the network114can include the transmission control protocol/Internet protocol (TCP/IP), the hypertext transport protocol (HTTP), the simple mail transfer protocol (SMTP), the file transfer protocol (FTP), etc. The data exchanged over the network114can be represented using technologies and/or formats including the hypertext markup language (HTML), the extensible markup language (XML), etc. In addition, all or some of links can be encrypted using conventional encryption technologies such as the secure sockets layer (SSL), Secure HTTP and/or virtual private networks (VPNs). In another embodiment, the entities can use custom and/or dedicated data communications technologies instead of, or in addition to, the ones described above.

FIG. 2is a high-level block diagram illustrating an example of a computer200for use as a video server110, ad server112, and/or client114. Illustrated are a processor202coupled to a bus204. Also coupled to the bus204are a memory206, a storage device208, a keyboard210, a graphics adapter212, a pointing device214, and a network adapter216. A display218is coupled to the graphics adapter212.

The processor202may be any general-purpose processor. The storage device208is, in one embodiment, a hard disk drive but can also be any other device capable of storing data, such as a writeable compact disk (CD) or DVD, or a solid-state memory device. The memory206may be, for example, firmware, read-only memory (ROM), non-volatile random access memory (NVRAM), and/or RAM, and holds instructions and data used by the processor202. The pointing device214may be a mouse, track ball, or other type of pointing device, and is used in combination with the keyboard210to input data into the computer200. The graphics adapter212displays images and other information on the display218. The network adapter216couples the computer200to the network114.

As is known in the art, the computer200is adapted to execute computer program modules. As used herein, the term “module” refers to computer program logic and/or data for providing the specified functionality. A module can be implemented in hardware, firmware, and/or software. In one embodiment, the modules are stored on the storage device208, loaded into the memory206, and executed by the processor202.

The types of computers200utilized by the entities ofFIG. 1can vary depending upon the embodiment and the processing power utilized by the entity. For example, a client114that is a mobile telephone typically has limited processing power, a small display218, and might lack a pointing device214. The video server110, in contrast, may comprise multiple blade servers working together to provide the functionality described herein.

FIG. 3is a high-level block diagram illustrating a detailed view of modules within the client114according to one embodiment. Some embodiments of the client114in accordance with other embodiments have different and/or other modules than the ones described here. Similarly, the functionalities can be distributed among the modules in accordance with other embodiments in a different manner than is described here. Depending upon the embodiment, certain modules can be incorporated into an operating system executing on the client114while in other embodiments the modules are standalone applications or parts of other products.

A browser module310allows the user of the client to browse the videos available at the video server web site. Depending upon the embodiment, the browser module310can be a well-known web browser such as MOZILLA FIREFOX or MICROSOFT INTERNET EXPLORER. As is known in the art, the browser module310receives web pages from a web server and displays the web pages on the display218associated with the client114. A web page can include different regions dedicated to displaying different types of content, as well as user interface elements that can be manipulated by the user.

A player module118(the “player” described above) plays the video that the client114receives from the video server110and performs related actions. In one embodiment, the player module118is activated by the browser module118upon receiving an instruction from the video server110. In one embodiment, the player module118includes a FLASH player from ADOBE SYSTEMS INC. of San Jose, Calif., although other embodiments differ. The player module can be integrated into the browser as, for example, a plug-in or browser helper object. The client114can acquire the player module118from the video server110or another source.

The player module118includes a user interface (UI) generation module312for creating, displaying, and enabling UI elements providing information to the user and allowing the user to control the player118. These UI elements appear on the web page displayed by the browser module310. The user can use the elements to perform actions such as requesting videos, playing the videos, selecting a creative113(e.g., clicking on the creative to request more information about the advertised product), and the like.

The player module118also includes a player control module314for controlling the actions of the player. In one embodiment, the player module118provides the controller file115for a creative113to the player control module314. The player control module314parses the controller file115and causes the player118to behave in the specified manner. In addition, the player control module314causes the UI generation module312to generate UI elements based on the controller file115.

As mentioned above, the controller file115controls how a creative113manifests itself during play. The controller file115can be an XML file that specifies rules defining how the creative113is displayed. In one embodiment, the controller file115is based on a template provided by the entity that operates the video server110. The controller file115specifies information such as the point during playback of the video content when the creative appears (e.g., an offset time from the beginning of the video at which to display the creative), the duration for which the creative is displayed, the location on the web page of a companion ad (if any), where in the video area to display the creative, characteristics of the creative display (e.g., the level of transparency), and whether the creative is to be displayed on certain types of clients (e.g., whether the creative displays on mobile phone clients). For example, the controller file115can specify that the creative113is displayed 15 seconds after the start of the associated video content, that the creative is displayed for 10 seconds, and that the creative is displayed along the bottom edge of the area displaying the video. The controller file115can also specify that the creative113is displayed on a “share and watch” page that appears after the associated video content finishes play.

The controller file115can also describe how and when ad reporting events associated with the creative113are measured. Thus, the controller file115can indicate that an ad impression is recorded when the creative113is initially displayed (e.g., when the creative is displayed at the 15 second mark). The controller file115can also indicate that a “click to play event” or “click through” event is recorded when the creative113is selected by a user. The controller file115can also cause the player control module314to track how much of the creative113is played, such as reporting if the creative completes 25%, 50%, 75%, or 100% of its presentation. In one embodiment, the player control module314reports this recorded information to the ad server112.

In addition, the controller file115can specify actions to be performed by the player control module314when a creative113is selected by a user. In one embodiment, a companion video ad is displayed when the creative113is selected. This companion video ad can appear as a picture-in-picture. That is, the companion video ad appears in the same area as the main video, is superimposed over the main video, and is framed within a border that does not cover the entire main video. Further, the main video is paused and faded slightly to indicate that it is background. In one embodiment, if the user selects the companion video, a new browser window is opened that displays a web page associated with the companion video (e.g., with the item being advertised by the companion video and creative). The companion video is removed from the main video, so that the main video is viewable when the user returns to the web page on which it is displayed.

In another embodiment, a rich media interactive ad is displayed when the creative113is selected by the user. The main video is paused when the user selects the creative113, and an interactive ad (or other message) is displayed in approximately the same area as the main video content. The user can interact with the various elements of the interactive ad to view and purchase items. For example, the rich media interactive ad can let the user view different music to buy by shuffling through album covers. If the user selects a particular album, a new browser window opens and displays a web page associated with the selected album. One version of the rich media interactive is not removed from the main video when selected. In other words, the rich media interactive ad remains in the video area until the user uses a UI element to close it. In one embodiment, the functionality of the rich media interactive ad is provided using technology based on FLASH.

FIG. 4is a sequence diagram illustrating the steps involved in the displaying of a creative113at a client114according to one embodiment. In the diagram, three vertical lines respectively represent the ad server112, the video server110, and the client114. Time flows from the top to the bottom of the figure and the horizontal lines between the entities represent communications. Boxes on the lines represent activities performed by the associated entity. Those of skill in the art will recognize that other embodiments can perform the steps ofFIG. 4in different orders. Moreover, other embodiments can include different and/or additional steps and communications than the ones described here. In some embodiments, the video server110and the ad server112are the same server. In other embodiments, the video110and ad112servers are controlled by the same entity or are controlled by different entities.

Assume for purposes of this example that a user of the client114browses a web site provided by the video server110and requests410a video. The video server110provides412the video to the client114in response. For example, the video server110can stream the video to the client114. The player118at the client114requests414a creative113from the ad server112. Depending upon the embodiment, this request may include parameters that describe aspects such as an identifier of the requested video, an identifier of the type (e.g., category) of the video, and characteristics of the user of the client114(e.g., gender or location) if the user has provided them. The ad server112selects one or more creatives, possibly based on the parameters provided in the request, and provides416the selected creative113and a corresponding controller file115to the client114.

The player118at the client118interprets418the controller file115to determine how to manifest the creative113. Contemporaneously, the player118displays420the requested video at the client114. At a time relative to the beginning play of the video, the player118displays422the creative113as specified by the controller file115. The user can select the creative113while it is displayed, and can also perform other actions such as minimizing or restoring it. In one embodiment, the player118sends424an ad reporting event indicating that an ad impression for the creative113occurred.

FIG. 5illustrates a UI500generated by the player118according to one embodiment. Other embodiment of the UI can differ from the one shown, and elements within the UI can likewise differ.

The UI500includes a video area510and a control area512. The video area510displays the main video received from the video server110.FIG. 5illustrates that the creative113is displayed along the bottom edge of the video area510. The creative113includes text516identifying the creative as an advertisement, and also includes a minimize button518that allows the user to minimize (i.e., hide) the creative. In one embodiment, the creative113is 480 pixels wide and 55 pixels high, and can have some elements that extend up to 70 pixels high. The creative113can be animated, and can vary its dimensions as it plays. In addition, the creative113can be translucent or partially transparent so that the main video is visible beneath it.

In one embodiment, the player118overlays a transparent screen over the creative113while it is displayed. The player118instantiates UI elements such as the text516and minimize button518on the transparent screen. In addition, the player118uses the transparent screen to mask user actions from reaching the creative113. The transparent layer thus allows the player118to provide a consistent UI across different creatives.

The control area512includes UI elements for controlling the playback of the video, and for viewing the status of the playback. A “play” button520allows the user to play and pause the video. A progress bar522shows the length of the video and a playhead524on the progress bar indicates the current position of the video. In one embodiment, an indicator526on the progress bar522indicates the point at which the creative is displayed. That is, the creative113is displayed in the video area510when the playhead reaches the indicated position in the progress bar522. The indicator526can be, for example, a distinctly colored line, block, or other visible symbol shown on or adjacent to the progress bar522that indicates the offset point from the beginning of the video at which the creative113is displayed. In addition, the control area512includes a time indicator showing the current time index of the video, a volume control530for controlling the volume of any audio associated with the video, and a sizing control532for controlling the size of the video window510.

In one embodiment, the player118displays the UI elements associated with the creative113in a similar color and/or uses other techniques to indicate that the creative and elements are related. For example, the player118can display the text516, minimize button518, and indicator526in the same color to indicate that these elements are related.

FIGS. 6A,6B, and6C illustrate a partial web page600including the UI500generated by the player and other elements at different stages of operation according to one embodiment. The illustrated web page600is an example of a typical web page, and embodiments can have different or additional elements than the ones shown.

The web page600A ofFIG. 6Ashows that the video area510of the player UI500includes a playing video. In addition, the UI500includes a creative113displayed along the bottom of the video area510. The web page600A also includes a companion creative610in the form of a static ad that appears to the right of the video area510. In one embodiment, the companion creative610is related to the creative113in the video area510and can, for example, advertise the same item. The companion creative610displays a web page containing information about the advertised item when selected by the user. The companion creative610can include the same color scheme or have other characteristics to indicate that it is related to the other creative113. In other embodiments, the companion creative610is of a different form (e.g., is not static) and can be displayed in a different location on the web page600A.

The web page600B ofFIG. 6Bshows the same web page asFIG. 6A, except that the creative113is minimized. The creative113can be minimized, for example, in response to the user selecting the minimize button518shown on the displayed creative. As shown inFIG. 6B, in one embodiment a small “replay” button612is displayed in the lower-right corner of the video area510while the creative113is minimized. The user can select the replay button612to replay the creative113.

The web page600C ofFIG. 6Cshows the same web page asFIGS. 6A and 6B. InFIG. 6Ca companion video ad614is displayed in response to the user selecting the creative113. As described above and shown inFIG. 6C, the companion video ad614is superimposed over the main video, and is framed within a border that only partially covers the main video. Further, the main video is paused and faded slightly to indicate that it is background. The companion video ad614also includes a “close” button616that the user can select to remove the companion video ad and return to the main video, and a “Learn more” link618that the user can select to open a separate web page containing information about the advertised item.

The above description is included to illustrate the operation of the embodiments and is not meant to limit the scope of the invention. The scope of the invention is to be limited only by the following claims. From the above discussion, many variations will be apparent to one skilled in the relevant art that would yet be encompassed by the spirit and scope of the invention.