# Patent

## Title
Selection and presentation of context-relevant supplemental content and advertising

## Abstract

Media content is paired with context-relevant supplemental content, and the media and supplemental content are provided to a user. A media stream containing the media content may be received from a source system, and context information about the media content is determined from information about the media stream. The supplemental content may be selected based on the determined context information. This may enable a business model in which third parties can register advertising or other supplemental content and specify the criteria that cause it to be combined with the media content.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Application No. 60/780,709, filed on Mar. 8, 2006, which is hereby incorporated by reference in its entirety; the application is also a continuation-in-part of U.S. application Ser. No. 11/147,664, filed on Jun. 7, 2005, which claims the benefit of U.S. Provisional Application No. 60/577,833, filed Jun. 7, 2004, both of which are hereby incorporated by reference in their entirety.


BACKGROUND
1. Field of the Invention
This invention relates generally to media applications, and in particular to presenting context-relevant supplemental content in a media player.
2. Background of the Invention
Television and other media content are increasingly finding a home on new devices. For example, television programming is no longer found solely on the television. Through computer networks, as well as other delivery mechanisms, media content can be consumed on electronic devices, such as personal computers and cellular phones.
Media content is often provided with supplemental content to the users (e.g., viewers, consumers) of the media content. This supplemental content can generate income for the content provider (e.g., advertising revenue for providing advertisements in television programs) and/or provide additional information to the users (e.g. display news scrollbar on top of a television program). However, the supplemental content provided generally is not relevant to the context of the particular user consuming the particular media content (e.g., the content of the media content, the user's preference, etc.), and therefore not of much interest to the user.
Accordingly, there is a need for a system and method to select context-relevant supplemental content for media content and present the supplemental content to users of the media content.
SUMMARY
Embodiments of the invention provide a system and method to select context-relevant supplemental content for media content and present the context-relevant supplemental content and the media content to users. In one embodiment, context information of the media content is determined; supplemental content is selected based on the context information and present to the users.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow diagram of a process for presenting context-relevant supplemental content to a user, according to one embodiment of the invention.
FIG. 2 is a system that includes a source system, a context detection and supplemental content selection system and a destination system, according to one embodiment of the invention.
FIG. 3 is a flowchart of a method for selecting and presenting context-relevant supplemental content for a media stream, according to one embodiment of the invention.



One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
DETAILED DESCRIPTION OF THE EMBODIMENTS
Overview
Embodiments of the invention include systems and methods to pair media content with context-relevant (or context-specific) supplemental content and present the media content and the supplemental content to a user. In the following description, media content may include, without limitation, one or a combination of audio (including music, radio broadcasts, recordings, advertisements, etc.), video (including movies, video clips, television broadcasts, advertisements, etc.), data (such as streaming weather data), software (including video games, multimedia programs, graphics software), text and pictures. Media content may be in analog or digital form, and may be delivered as one or more individual files (e.g., media clip) or one or more media streams. Media streams can be encoded using any encoding technology and may be encrypted to protect their content using any suitable encryption technique.
Similar to media content, supplemental content may include one or a combination of the types of media content described above. One example of the supplemental content including a combination of different types of media content is a multimedia web page. The supplemental content may be interactive. For example, the content may be a hyperlink on which a user can click to obtain a web page that is relevant to the media stream. Alternatively, the content may comprise a communication link, such as a Voice over Internet Protocol (VoIP) call, or a button or other user interface device for placing such a call or initiating a software download.
FIG. 1 shows a flow diagram of a process for presenting context-relevant supplemental content to a user according to one embodiment of the present invention. The process starts with a source system 110 (e.g., a television broadcasting station) transmitting a media stream 120 (e.g., a television program) to a context detection and supplemental content selection system (“the context system”) (represented by a dashed line box in the FIG. 1).
The context system determines 130 context of the media stream and selects 150 content and/or advertisement for the media stream based on the determined context. In one embodiment, the context system can also receive non-media context information 140 (e.g., the user's preferences) from an external source and make the selection 150 based at least in part on the non-media context information. The context system can add 160 the selected content and/or advertisement (the context-relevant supplemental content) to the media stream. The context system can send the media stream and the supplemental content to the destination system 180, which can present the media stream and the context-relevant supplemental content to the user.
System Architecture
FIG. 2 is a high-level block diagram of a system 200 according to one embodiment of the present invention. The system 200 includes a source system 110, a context detection and supplemental content selection system (“the context system”) 210, and a destination system 180. A channel 220 exists between the source system 110 and the context system 210. A channel 230 exits between the context system 210 and the destination system 180.
The source system 110 includes hardware and/or software devices that are configured to transmit media content to the context system 210. It may be a central server at a remote broadcasting location, a network access server, a network storage device, or a computer at a user's home. Alternatively, the source system 110 may include multiple computers as in a peer-to-peer scenario. In one embodiment, the source system 110 can be a broadcast station (e.g., radio station and television station) that broadcasts media content over the air or through other channels such as cable networks. The source system 110 may provide services such as video on demand or pay-per-view. In another embodiment, the source system 110 can be an audio/video device such as a cable box, a satellite receiver, a DVD player, or a digital video recorder (DVR). In yet another embodiment, the source system 110 can be a time-shifting device (e.g., a personal video recorder) or a placeshifting device (e.g., a personal broadcaster).
In placeshifting, a user can watch or listen to live, recorded or stored media on a remote device via a data network. For example, a user may stream content from a first device at home (such as a satellite receiver, cable box, or digital video recorder) to a second device (such as a cellular phone), which can receive the media from across the house, across town, or across the world. This transmission may use public or private networks. A product that currently provides such a placeshifting application is the SLINGBOXTM from Sling Media, Inc., and described in U.S. application Ser. No. 11/147,664, filed Jun. 7, 2005, the contents of which are incorporated by reference in their entirety.
The context system 210 includes hardware and/or software devices that are configured to receive media content from the source system 110 through the channel 220, and determine context information of the media content. In one embodiment, the context system 210 is further configured to select context-relevant supplemental content of the received media content based at least in part on the determined context information, and send (or transmit) the supplemental content and the media content to the destination system 180 through the channel 230. In another embodiment, the context system 210 sends the context information to the destination system 180, which selects the context-relevant supplemental content based at least in part on the received context information and presents the supplemental content and the media content to users. In one embodiment, the context system 210 can be configured to convert the received media content from one media format to another or perform any other transcoding, encoding, translation, digitization (such as converting media content from analog form to digital form), or other processing on the media content as desired. In one embodiment, the context system 210 may transmit information to the source system 110.
The destination system 180 includes hardware and/or software devices that are configured to play the media content and the supplemental content to users (or viewers). The destination system 180 may include one or more output devices, such as a television, a speaker, a personal computer, a personal digital assistant (PDA), a cellular phone, a dedicated set top box that outputs to a television or monitor, or any other type of device that can receive and render media data. In one embodiment, the destinations system 180 may play the media content and the supplemental content in the same media output device(s) or different media output devices. In one embodiment, the destination system 180 can transmit information to the context system 210 and/or the source system 110.
In one embodiment, the source system 110, the context system 210, and the destination system 180 are structured to include a processor, memory, storage, network interfaces, and applicable operating system and other functional software (e.g., network drivers and communication protocols).
The channel 220 is the delivery pathway through which the source system 110 transmits the media content to the context system 210. The channel 230 is the delivery pathway through which the context system 210 transmits the media content and the supplemental content to the destination system 180. Media content and/or supplemental content may be delivered through a variety of pathways, including, but not limited to, the following: over the air via analog or digital radio frequency (RF) transmission; Internet protocol (IP) transmission delivered over a wired network or a wireless network (or a combination) in a unicast or multicast method; wireless or wired networks (which may or may not be IP) dedicated to the delivery of multimedia content (e.g., Qualcomm's MediaFLO); and satellite transmission. Therefore, the channels 220 and 230 may include, without limitation, one or a combination of air, wired or wireless network, and satellite. In one embodiment, the channel 220 and/or the channel 230 include the Internet. In another embodiment, the channel 220 and/or the channel 230 may be completely within a device, such as where the context system 210 is on the same device as the destination system 180 or the same device as the source system 110. For example, a computing system may be configured to stream media content to the destination system 180 and select and send context-relevant supplemental content to the destination system 180, thereby serving as both the source system 110 and the context system 210.
Operation
FIG. 3 is a flowchart of a process of the context system 210 for selecting and presenting context-relevant supplemental content in accordance with one embodiment of the invention. This process may be implemented in software, hardware, or a combination of hardware and software. In one embodiment, a part or the whole process may be implemented in the source system 110 and/or the destination system 180.
As illustrated in FIG. 3, the context system 210 receives 310 a media stream from the source system 110. The context system 210 then determines 320 context information about the media stream. Based at least in part on the determined context information, the context system 210 selects 330 supplemental content and presents 340 the supplemental content and the media stream via a destination system 180. Further detailed for each step of the process are described below.
Receiving the Media
The context system 210 receives 310 the media stream from the source system 110. In one embodiment, the media stream is delivered to the context system 210 through broadcast distribution either over the air (e.g., traditional radio and television broadcasting) or through a broadcast network (e.g., cable radio and cable television). In another embodiment, the media stream may be delivered to the context system 210 upon demand (e.g., through a video on demand service). Alternatively, the media stream may be obtained from a device that is configured to playback locally stored media streams.
In one embodiment, the media stream is sent to the context system 210 as a series of small packets from a single source (e.g., a media server) or multiple sources (e.g., multiple computers in a peer-to-peer network where the media stream is distributedly stored). The media stream may be sent using Datagram protocols. Depending on how the context system 210 is configured to determine 320 the context information, the context system 210 may or may not assemble the packets to construct the media stream.
Determining the Context Information
The context system 210 determines 320 context information about the received media stream. Many different types of context information may be used in embodiments of the system. For example, the context information may be related to (1) the content within the media stream, (2) the destination system 180, and/or (3) the user (e.g., viewer or consumer) of the media stream. As is described in greater detail below, the context system 210 may determine 320 the context information using any of a variety of methods.
In one embodiment, the context system 210 has one or more desired schemes for providing supplemental content. For example, the context system 210 may be configured to provide content-relevant advertisements for some advertisers. These desired schemes may favor some context information over others. Depending on what context information is desired, the context system 210 may use various methods to determine 320 the context information.
One type of context information relates to the content within the media stream (content-relevant context information). This type of context information may include any information about the media stream, such as the name of a program in the stream, actors in the program, genre of the program. For example, for a media stream including a clip of a baseball game, the context information may include the identity of the baseball player at bat.
One method to determine 320 the content-relevant context information uses text transcripts of the media stream. Broadcasting is often accompanied by text transcripts for the hearing impaired. The text transcripts include transcript of the video program and/or advertisement that is currently being broadcasted. These text transcripts may be included in metadata such as closed captioning and teletext. Depending on the video transmission standard and/or the delivery mechanism, the text transcripts can be transmitted using a variety of methods. For example, the closed captioning can be contained within the Vertical Blanking Interval (VBI) according to the NTSC standard. As another example, the text transcripts can be embedded in the IP packets of the media stream.
Because the text transcripts include a (nearly) literal transcript of the content in the media stream, they likely contain very useful information for determining content-relevant context information. The text transcripts could contain information which indicates the genre of a media program in the media stream, the title of the media program, or the precise content or dialog that is the focus of the media program and/or advertisements at any point during the media program. For example, through the processing of the closed capturing transmitted during an airing of the television program Daily Show, the context system 210 can determine 320 that the viewer is watching the “Daily Show,” that the host is “Jon Stewart,” that the guest is “David Sedaris,” that the name of the new book Mr. Sedaris is writing is “Me Talk Pretty One Day,” and that the topics covered during the show were “the war in Iraq,” “Chief Justice Roberts,” and “Wal-Mart.” In addition, the natures and sponsors of the various advertisements (e.g., “Ford” and “Mustang”) presented during the program may be similarly determined 320.
As described above, the context information may be determined 320 based on the desired schemes for providing supplemental content. For example, if the desired schemes include advertisements for major retailers and automobile manufacturers, the content-relevant context information determined 320 for the Daily Show program will include terms such as “Wal-Mart,” “Ford,” and “Mustang,” not terms such as “the war in Iraq.”
In one embodiment, the context system 210 can determine 320 the context information in real time as it receives 310 the relevant content in the media stream. This can be important for the supplemental content providers. For example, a company may want to show its advertisement to a user soon after media content related to the company is presented to the user.
Another method to determine 320 the content-relevant context information uses text messages displayed graphically in the video content in the media stream. In one embodiment, the context system 210 can determine 320 the text messages using optical character recognition (OCR) technology. By translating the graphical text messages into recognizable words, the text messages displayed may then be used to determine 320 the content-relevant context information.
Other methods of determining 320 the content-relevant context information include object recognition, voice recognition, and other content recognition by processing the content of the media stream using a variety of algorithms. This enables the context system 210 to determine 320 content-relevant context information by identifying objects that are shown and words that are spoken in the media stream.
In one embodiment, a content provider can put a certain signal in the media stream (e.g., an identifier in the VBI) to indicate the presence of a specific content. The context system 210 may be configured to detect and recognize these signals and determine 320 context information accordingly. In another embodiment, the context system 210 may use media fingerprints to determine 320 context information about the media stream. A characteristic digital fingerprint may be generated for a portion of a media program (such as an audio portion of the media, or a time period thereof). The digital fingerprint may then be referenced against a database of fingerprints for known media items, and thereby be used to identify the media program or information about it, such as genre, scene changes, and specific programming ID of the media program.
In one embodiment, a content provider can transmit context information (e.g., media fingerprint, text transcripts) in the audio signals of the media stream. For example, the content provider can transmit a content indicator in the subaudible tone (or other audio tone that is not noticeable to the average listener at normal volume levels) of an audio stream. The context system 210 may be configured to detect and recognize the context information embedded in the audio signals, and thereby use it to determine context information about the received media stream.
The context system 210 may use information from sources other than the media stream to determine 320 the content-related context information. Such sources may be third-party databases, such as web services and electronic program guides (EPG). An EPG contains descriptive information about the content of programs in multiple channels. The context system 210 may retrieve descriptive information from the EPG using identification information such as the date and time when the program is broadcasted, the location of the destination system 180, the service provider and subscribed package (e.g., Comcast basic cable), and the current channel being viewed. The context system 210 may retrieve the identification information from the destination system 180 and/or the source system 110. In one embodiment, the source system 110 is a placeshifting device which can provide such information to the context system 210 along with the media stream.
Another type of context information that may be used to select 230 supplemental content related to the user, the destination system 180, or other information that is not determined solely by the media stream. This type of context information may be called usage-relevant context information (or non-media context information). Examples of usage-relevant context information include configurations and capabilities of the destination system 180 (e.g., type and model of equipped output device, operating system), time and location of the output device playing the media stream, and information about the user (e.g., web browsing histories of the user). The context system 210 may retrieve the usage-relevant context information from the source system 110, the destination system 180, or some other source. For example, the context system 210 may determine 320 the location of the destination system 180 using the IP address of the destination system 180. As another example, the context system 210 may retrieve user registration data from the source system 110. Assuming the destination system 180 includes a personal computer, the context system 210 may use software programs or data located on the computer (such as web histories and Internet cookies) to determine 320 context information about the user.
The context system 210 may also derive additional contextual information based on the determined context information. For example, knowing that the viewer lives in one state (e.g., through user registration data) and is presently viewing media content in another state (e.g., through IP address of the destination system 180), the context system 210 may infer that the viewer is traveling. The inferred context information may be used to select 330 supplemental content that would be highly relevant for a traveler, such as a local restaurant guide for travelers.
Therefore, the context system 210 may determine 320 the content-relevant context information (derived from the media stream itself) and/or the usage-relevant context information (derived from sources other than the media stream) of the media stream.
Selecting Supplemental Content
Once the context information is determined 320, the context system 210 selects 330 supplemental content using that context information. In one embodiment, the context system 210 is configured to select 330 the supplemental content that is most relevant to the user, and thus most valuable to parties of interest (e.g., the user, supplemental content providers).
In one embodiment, the context system 210 uses the context information to select 330 the supplemental content from a collection of supplemental content. The collection of supplemental content may include advertisements or other information that may be relevant to the media. The collection of supplemental content may be stored locally in the context system 210 or externally in devices such as third-party databases and the destination system 180.
In one embodiment, the context system 210 conducts the selection 330 based at least in part on the content-relevant context information. Supplemental content providers (e.g., advertisers) may prefer to provide their supplemental content (e.g., advertisements) with media programs that are relevant in some way to the thing being advertised. For example, a company may want to present its own advertisement to the viewer whenever its competitor's advertisement appears. As another example, a company may want to supplement its own advertisements with additional information or timely offers. Beneficially, the users are more likely to be interested in supplemental information that is relevant to the content of the media program they are watching. For example, a viewer would be more likely to be interested in a brief biography of Chief Justice Roberts if the viewer is watching a television program about the judicial nomination of John Roberts.
In one embodiment, the context system 210 conducts the selection 330 based at least in part on the usage-relevant context information. In one embodiment, the output device of the destination system 180 presenting 340 the media stream may influence the selection 330 of the supplemental content. For example, the context system 210 may select 330 a cellular phone plan advertisement if the user is watching the media via a cellular phone, but select 330 a cable service advertisement if the user is watching via a television or personal computer. In another embodiment, the inventory of the destination system 180 may impact the supplemental content the context system 210 selects 330. For example, if a computer of the destination system 180 has a particular operating system installed, the context system 210 may select 330 an advertisement of a compatible software application which may otherwise not be selected 330. In another embodiment, the past activities of the user may drive the selection 330. For example, cookies on a user's computer may indicate the user's preferences, which may be considered by the context system 210 in selecting 330 the supplemental content to be presented 340 to the user.
In one embodiment, the context system 210 selects 330 the supplemental content based at least in part on statistical data of other users' activity. Supplemental content successful in similar context in the past (e.g., an advertisement with high click rate) tends to remain successful in the near future. Therefore, the context system 210 may select 330 the supplemental content with favorable statistical data over the unfavorable ones, thus increasing the effectiveness of the selected supplemental content. In one embodiment, the context system 210 can use algorithms such as the Bayesian inference to determine a success score for candidate supplemental content items, and select 330 the one with the highest score.
In one embodiment, the context system 210 implements the function for selecting 330 supplemental content as a rule engine. The rule engine may include rules that correspond to logics (or algorithms) the context system 210 uses to conduct the selection 330. The rules may be provided by parties of interest. A rule may be based on content-related context information. For example, a rule may be to select 330 an airline advertisement whenever a program contains the word “Hawaii” two or more times in a media stream. The matching (or filtering) of the words may be literal (e.g., “Cadillac” should trigger content associated with “Cadillac”) or associative (e.g., the word “basketball” may be associated with content related to sneakers and other shoes). As another example, a user may set a rule that prohibits the selection 330 of any advertisement for a media program about jewelry. A rule may be based on usage-related context information. For example, an advertiser may set a rule that prohibits the selection 330 of its advertisements when the destination system 180 uses a cellular phone to present 340 the supplemental content. The rules engine thus allows for any rule or combination of rules for the context system 210 to select 330 supplemental content from the collection of context information.
In one embodiment, after selecting 330 the supplemental content, the context system 210 selects a format for the selected supplemental content. The supplemental content may have multiple formats, each of which may be presented differently based on the destination system 180. For example, an advertisement for a particular product may have a video format having a high-resolution video version and a low-resolution version, an audio format for radio listeners, and a web format having an URL pointing to a web page designated to promote the product.
The context system 210 may select a format for the supplemental content based on the context information. A number of factors may be considered in selecting the format of the supplemental content, such as the location of the user, the configuration of the destination system 180, and the format of the media stream. For example, if the user placeshifts video stream from home and views the stream using a laptop computer, the context system 210 may select a shortened low-resolution format of the selected supplemental content. However, if the viewer is watching the same video stream at home using a large screen high-definition television (HDTV), the context system 210 will select a format that can deliver full-length high-resolution of the selected supplemental content on the HDTV. If the context system 210 discovers that the user is watching the same video stream using a mobile wireless device (e.g., a smart phone), it may select an abbreviated format that will be displayed as a scrollbar in the device.
In one embodiment, the context system 210 implements the function for selecting a format for the supplement content using the same rule engine as the one for the function for selecting 330 the supplemental content. Parties of interests (e.g., users or advertisers) may add or modify rules to set their preferences. For example, some advertisers may prefer their advertisements to be in a particular format (e.g., text only), while other advertisers may prefer to display their advertisement together with the media stream and launch a particular web page for the viewers to visit.
In one embodiment, the selection 330 of the supplemental content is conducted by the destination system 180. The context system 210 may send (or transmit) the determined context information to the destination system 180. The destination system 180 may make the selection 330 in manners similar to the ones described above.
Presenting the Supplemental Content
Once the supplemental content is selected 330, the supplemental content and the media stream are presented 340 to users via the destination system 180. In one embodiment, the context system 210 sends (or transmits) the media stream and the supplemental content to the destination system 180 using the same communication channel 230. The supplemental content may accompany the media stream synchronously or asynchronously.
Depending on the formats of the media stream and the supplemental content, the context system 210 may incorporate the supplemental content into the media stream to form a new combined media stream and send the combined stream to the destination system 180. For example, if both the media stream and the supplemental content include video content, the context system 210 may add video content of the supplemental content in front of the video content of the media stream (pre-placement), at the end of the video content of the media stream (post-placement), or above the video content of the media stream (overlay). Alternatively, the supplemental content may be delivered in a different channel and/or by completely different delivery means than the media stream. For example, while the media stream may be sent to the destination system 180 through a computer network, the context system 210 may send 340 the supplemental content offline. For example, the supplemental content may be sent 340 through a phone call, a fax, or the postal service to the user's home. The destination system 180 may combine (or incorporate) the supplemental content and the media stream to present 340 them to the users.
In one embodiment, the supplemental content is stored in the destination system 180 or in a storage device accessible by the destination system 180. Rather than sending the supplemental content to the destination system 180, the context system 210 may send information necessary for the destination system 180 to access the supplemental information. For example, the destination system 180 may have certain advertisements stored in its local storage. Rather than sending an advertisement to the destination system 180, the context system 210 may send an identifier that uniquely identifies the advertisement in the local storage. As another example, the context system 210 may send a uniform resource locator (URL) associated with the supplemental content to the destination system 180, which may then retrieve the supplemental content using the URL through a network. Beneficially, this approach alleviates much of the need for transmission of supplemental content from the context system 210 to the destination system 180.
In one embodiment, the context system 210 only sends the supplemental content to the destination system 180 and not the media stream. In another embodiment, the context system 210 stores (or caches) the media stream and the supplemental content in a local storage device and sends the media stream along with the supplemental content to the destination system 180 at a later time. For example, the context system 210 may also function as a time-shifting or placeshifting device. The context system 210 may include personal video recorder functionality (using local storage to record the media stream received) and tag the recorded media stream with information indicating the content of the programs recorded. On play back, this information can be used to select supplemental content such as context-relevant advertisements and information.
Depending on the format of the supplemental content, the format of the media stream, and/or the configuration of the destination system 180, the destination system 180 may present 340 the supplemental content to the users in a variety of ways. The destination system 180 may present 340 the supplemental content using the same output device as the one used to present 340 the media stream. For example, the destination system 180 may display both the supplemental content and the media stream in the same screen. The supplemental content and the media stream may also be presented 340 using the same application. For example, the destination system 180 may display a television program (media stream) using a media player, and overlay an advertisement (supplemental content) as a scrollbar (or text ticker) on the television program using the media player. Alternatively, the supplemental content and the media stream may be presented 340 using different applications. For example, if the supplemental content includes a URL, the destination system 180 may launch a web browser to display the web page associated with the URL, while displaying the media stream using a media player. One example of the media player is described in more detail in U.S. patent application Ser. No. 11/147,664, filed on Jun. 7, 2005, the content of which are hereby incorporated by reference.
The destination system 180 may present 340 the supplemental content and the media stream using different output devices. For example, the destination system 180 may present 340 a television program (media stream) on a HDTV and print a coupon (supplemental content) using an associated printer.
In one embodiment, the destination system 180 and/or the context system 210 replaces a portion of the media stream with the supplemental content. For example, the destination system 180 may replace an advertisement for a company with a different advertisement for the company that is determined to be more relevant to the user.
Example Process
The process described above can be further illustrated through an example of an operation of the context system 210 in accordance with one embodiment of the invention. In this example, a user is watching a television broadcast of a baseball game using a personal computer through a placeshifting device.
While receiving the television broadcast from a television station, the place shifting device determines that a particular baseball player is at bat. Based on this information, the placeshifting device selects an advertisement for a website that sells sports memorabilia. To do this, the placeshifting device may select a URL for a web page on the website where the viewer can buy an autographed ball from the baseball player that is currently at bat. This selection may also be based in part on information that is not determined from the media stream, such as the user's previously stated preferences or activity (e.g., the user has visited websites that have this player's stats, thus indicating an interest in the player). This supplemental content is then delivered to the user's personal computer with the television broadcasting. As a result, while the user is watching his favorite player at bat during a baseball game on the personal computer, the user also receives an advertisement for the relevant sports memorabilia as well as a link to a web page where the user can easily buy the advertised product.
Advertisement Marketplace Business Model
The systems and methods described above enable a business model in which third parties can register advertising or supplemental content and specify the criteria that trigger it. Context, as defined above, may play a large part in those criteria. The third parties' criteria are used, at least in part, to select the supplemental content to be presented with the media stream. When a third party's advertisement is played, presented or interacted with, the third party is charged a fee. The amount charged may be based on the number of times the advertisement is selected and added to a media stream, for each viewer. In one embodiment, the service includes a web interface for third parties to upload their advertisements or other supplemental content and select or define the criteria to be applied for pairing the supplemental content with the media content presented to viewers.
The service may also allow the third parties to bid amounts of money on certain criteria, where the bid amount is or is related to the price that the third party is charged for the presenting of its content with the media stream. The system may then give priority to third parties' content based on the associated bid amount. This enables an efficient marketplace for advertisements, where prices adapt to a market price for various criteria and content based on demand.
In another aspect of an embodiment of this model, the service that pairs the supplemental content with the original television or video content can be independent from all the primary and secondary content providers. The technologies used to determining context while transporting primary media may serve as a matchmaking virtual marketplace for third parties interested in delivering their supplemental information to a particular set of users. In addition, the transport providers (e.g., the carriers and others) might be included in this model in a variety of ways based on the type of content presented to the user.
In one example of this, an advertising agency may wish to place one million dollars of advertising on computers and mobile devices for its client. By bidding on keywords (skateboard, motocross, etc), genres (for example: sports::extreme) and indicating that it wants to place video content on computers and mobile devices, a spend plan is built around the budget using the service described above. Once buys are in place and confirmed, whenever a 19 year-old placeshifts the X-Games onto his cellular phone, the client is assured that a certain number of airings will include their video advertisement. Money paid by the client may be distributed in different percentages among the primary content owners, the service that enables this business, and the cellular phone carriers, all based upon the tracking data maintained by the enabling service.
The tracking information that can be maintained by the context/content matching business includes performance metrics, including, but not limited to: (1) how often secondary content was presented to users; (2) how often they interacted with the secondary content; (3) where and when the secondary content was presented; (4) which primary content triggered the secondary content; and (5) which networks carried the secondary and primary content. Based on these metrics, the different parties involved can agree upon appropriate ways to split up the revenue stream.
SUMMARY
Embodiments of the invention provide a system and method to pair media content with context-relevant supplemental content and present the media content and the supplemental content to a user.
The foregoing description of the embodiments of the invention has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above teachings.
Some portions of above description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.
In addition, the terms used to describe various quantities, data values, and computations are understood to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or the like, refer to the action and processes of a computer system or similar electronic computing device, which manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission, or display devices.
Embodiments of the invention may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
Embodiments of the invention may also relate to a computer data signal embodied in a carrier wave, where the computer data signal includes any embodiment of a computer program product or other data combination described herein. The computer data signal is a product that is presented in a tangible medium and modulated or otherwise encoded in a carrier wave transmitted according to any suitable transmission method.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description above. In addition, embodiments of the invention are not described with reference to any particular programming language. It is appreciated that a variety of programming languages may be used to implement various embodiments of the invention as described herein, and any references to specific languages are provided for disclosure of enablement and best mode of embodiments of the invention.
Finally, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

## Claims

1. A method executable by a media player, the method comprising:
receiving a media stream of media content at the media player;
determining, using the media player, context information from the media content of the received media stream;
identifying supplemental content by the media player, the supplemental content being related to the context information; and
providing the media content and the supplemental content for presentation.

2. The method of claim 1, wherein the supplemental content comprises a link to a web page.

3. The method of claim 1, wherein the supplemental content comprises an advertisement.

4. The method of claim 1, wherein the supplemental content comprises scrolling text related to the media content.

5. The method of claim 1, wherein the supplemental content is presented on a media player as an overlay to the media content.

6. The method of claim 1, wherein the supplemental content is embedded in an interface of the media player.

7. The method of claim 1, wherein the supplemental content is presented via launching an application separate from the media player.

8. The method of claim 1, wherein the media stream comprises a broadcast program, and determining the context information about the media stream comprises examining an electronic programming guide to identify the broadcast program.

9. The method of claim 1, wherein the media stream is received from a base station of a placeshifting system.

10. The method of claim 1, further comprising: obtaining the supplemental content from a remote server.

11. The method of claim 1, further comprising: storing the supplemental content on a local storage of a system on which the media player is running; and obtaining the supplemental content from the local storage.

12. The method of claim 1 wherein the media content comprises metadata provided within the media stream, and wherein the determining comprises analyzing the metadata.

13. The method of claim 1 wherein the media content comprises closed captioning information contained within the media stream, and wherein the determining comprises analyzing the closed captioning information.

14. The method of claim 1 wherein the media content comprises audio information contained within the media stream and wherein the determining comprises performing a voice recognition to identify spoken words in the media content.

15. The method of claim 1 wherein the media content comprises text messages displayed graphically within the media stream, and wherein the determining comprises performing an optical character recognition of the text messages.

16. The method of claim 1 wherein the media content comprises graphical objects contained within the media stream and wherein the determining comprises recognizing the graphical objects within the media content.

17. The method of claim 1 wherein the determining comprises analyzing the media content in real time as the media stream is received.

18. The method of claim 1 wherein the determining comprises analyzing the media content in real time.

19. The method of claim 1 further comprising providing the supplemental content and the media content for simultaneous presentation.

20. The method of claim 1 wherein the supplemental content is further selected based upon information about a user of the media player.

21. The method of claim 1 wherein the supplemental content is further selected based upon information about the media player.

22. The method of claim 1 wherein the supplemental content is further selected based upon a location of a user of the media player.

23. The method of claim 1 wherein the providing comprises displaying the supplemental content and the media content on the media player.

24. The method of claim 1 wherein the context information is content-relevant context information.

25. The method of claim 1 wherein the receiving comprises receiving the media stream at a placeshifting device, and further comprising transmitting the supplemental content and the media content to a media player.

26. The method of claim 1 wherein the receiving comprises receiving the media stream at a placeshifting device, wherein the determining and identifying are performed by the placeshifting device, and further comprising transmitting the supplemental content and the media content from the placeshifting device to a media player.

27. The method of claim 1 wherein the receiving comprises receiving the media stream at a media player, and further comprising presenting the supplemental content and the media content on the media player.

28. The method of claim 1 wherein the receiving comprises receiving the media stream at a media player, wherein the determining and identifying are performed by the media player, and further comprising presenting the supplemental content and the media content on the media player.

29. The method of claim 1 wherein the determining comprises analyzing the media content received within the media stream.

30. A method executable by a context system that processes media content that is selected by a viewer and placeshifted to a media player, the method comprising:
receiving a media stream at the context system, wherein the media stream comprises the media content selected by the viewer;
using the context system, determining context information from the media content of the received media stream;
selecting supplemental content based at least in part on the context information; and
transmitting the media content and the supplemental content from the context system to the media player for presentation to the viewer.

31. The method of 30, wherein the context system is a placeshifting device.

32. The method of claim 30, wherein the supplemental content comprises an advertisement.

33. The method of claim 30, wherein determining the context information comprises examining metadata received with the media stream.

34. The method of claim 30, wherein the context information about the media stream is determined by analyzing text transcripts of an audio portion of the media stream.

35. The method of claim 30, wherein the context information about the media stream is determined by analyzing an audio signal of the media stream.

36. The method of claim 35, wherein the audio signal comprises an audio signal in a subaudible tone.

37. The method of claim 30, wherein determining the context information about the media stream comprises referencing an electronic program guide to identify a broadcast program associated with the media stream.

38. The method of claim 30, further comprising: combining the supplemental content and the media stream into a combined stream at the context system; and transmitting the combined stream from the context system to a destination system.

39. The method of claim 30, further comprising: combining the supplemental content and the media stream into a combined stream.

40. The method of claim 30, further comprising: sending the supplemental content to a first output device and sending the media stream to a second output device, the first and second output devices being different.

41. The method of claim 30, further comprising synchronously presenting the media stream and the supplemental content.

42. The method of claim 30, further comprising synchronously presenting the media stream and the supplemental content.

43. The method of claim 30, wherein the supplemental content is selected based at least in part on usage-relevant context information.

44. The method of claim 43, wherein the usage-relevant context information includes at least one of a configuration and a capability of the media player.

45. The method of claim 43, wherein the usage-relevant context information includes information about the viewer.

46. The method of claim 43, wherein the usage-relevant context information includes at least one of a location of the media player and a time when the media stream is presented.

47. The method of claim 30, wherein the media stream comprises audio and video information.

48. The method of claim 30, wherein the supplemental content is presented as an overlay on the media stream.

49. The method of claim 30, wherein the supplemental content is presented as a web page.

50. The method of claim 30, wherein the supplemental content is presented as scrolling text on the media stream.

51. The method of claim 30 further comprising transmitting the supplemental content and the media content to a media player.

52. The method of claim 30 wherein the determining comprises analyzing the media content received within the media stream.

53. The method of claim 30 further comprising providing the supplemental content and the media content to a destination system.

54. The method of claim 30 wherein the receiving comprises receiving the media stream at a media player, and further comprising presenting the supplemental content and the media content on the media player.

55. A computer program product comprising a computer-readable medium containing computer program code for performing the method comprising:
receiving media content for presentation by a media player;
determining context information from the received media content using the media player;
identifying supplemental content using the media player, the supplemental content being related to the context information; and
presenting the supplemental content and the media content on the media player.

56. The computer program product of claim 55 wherein the determining comprises analyzing the media content received within the media stream.

57. A computer program product to process media content that is selected by a viewer and that is place shifted from a source system to a destination system, the computer program product comprising a computer-readable medium containing computer program code for performing the method comprising:
receiving a media stream from the source system that comprises the media content selected by a viewer;
determining context information from the media content of the received media stream;
selecting supplemental content based at least in part on the context information; and
providing the supplemental content and the media content to the destination system for presentation to the viewer.

58. The computer program product of claim 57 wherein the determining and selecting are performed by a placeshifting device, and wherein the providing comprises transmitting the supplemental content and the media content to the destination system.

59. The computer program product of claim 57 wherein the determining comprises analyzing the media content received within the media stream.

60. A method executable by a data processing system that processes media content that is selected by a viewer and placeshifted to a media player, the method comprising:
receiving a media stream comprising the media content selected by the viewer at a data processing system;
determining context information by analyzing the media content received within the media stream at the data processing system;
selecting supplemental content using the data processing system, wherein the supplemental content is based on the context information; and
transmitting the supplemental content and the media content from the data processing system over a network to the media player for presentation to the viewer.

61. The method of claim 60 wherein the context information is content-relevant context information.