This invention relates to information technology, and more particularly to methods and systems for providing and personalizing relevant and non-redundant supplemental information with respect to data already stored at devices such as media players and the like.
Modern media devices provide the capability to experience media content anywhere at any time. Early audio systems used vinyl records and delicate turntables, while early televisions were heavy and relied on complex antenna or cable systems. The development of sophisticated digital processing techniques, including the compressive encoding of video, audio and graphics content, along with commensurate improvements in electronics processing and storage technologies, have allowed hardware memory devices to take the place of older analog storage media and transmission systems and have allowed miniaturized processors and circuitry to replace bulky analog circuits and components. Today's technologies can incorporate processing, storage, communication and playout into a unit smaller than a deck of playing cards yet capable of storing and playing thousands of audio selections or scores of video segments, while providing two-way data and voice communication and access to Internet content via a full-color touch-sensitive display screen.
The inevitable consequence of this technological advance is the availability of far more content than any single user can absorb. Fifty years ago there were three television networks, while today YouTube® provides access to millions of amateur video clips, and the Apple iTunes® Store offers access to more than 8 million downloadable songs, thousands of movies, and hundreds of television series.
Just as technology created the glut of media content, technology has offered solutions to assist a user in accessing suitable selections. For example, U.S. Pat. No. 6,986,154 by Price et al. describes a system that utilizes a user profile maintained at the user's location, whereby a profiling agent compares parameters from a media source and parameters from the user profile to select media content that matches the user's preferences. Similarly, the system described in U.S. Pat. No. 6,944,585 by Pawson utilizes user preference input to satisfy a request for digital content by selecting content at a broadcast source. In another prior art example, U.S. Pat. No. 6,314,568 by Ochiai et al. describes a system for organizing and presenting media content broadcast to and stored on a local device, where the sequence of presentation of media segments is determined by comparison with the viewer's preference data. U.S. Pat. No. 7,305,691 by Cristofalo extends these concepts to cover the situation where the user is away from home, by storing user preference data in a central server from which the preference data can be extracted for use in filtering content. However, each of these systems known in the prior art has the disadvantage that a user must explicitly provide the preference data to be used for filtering media content.
In other systems known in the prior art, content selection is performed based on criteria that are not explicitly provided by the user. U.S. Pat. No. 6,718,551 by Swix et al. describes a system whereby prior subscriber choices are collected and analyzed to select advertisements intended to appeal to the subscriber. U.S. Patent Application 2004/0005900 describes a software application, provided in conjunction with a video program and executing on a mobile terminal, which uses previously-entered information to customize the application interface when viewing the video content.
Another feature of modern media systems is the ability to provide supplementary content during the playout of primary media content. Such supplementary content may take the form of images, text, web pages, audio, video, multimedia, or an interactive application. For example, when a song is purchased from the Apple iTunes Store for playout on the Apple iPhone®, an image of the album cover is also downloaded for display when the song is played. Similarly, U.S. Patent Application 2006/0031825 by Mulligan describes a radio broadcast system that utilizes a second communication channel to provide interactive functionality related to the primary broadcast audio content.
Other systems describe the use of preference data to select secondary content supplied with primary media content. For example, U.S. Pat. No. 6,601,103 by Iki et al. describes a broadcast system wherein the primary media content is augmented with supplemental programming, and the presentation of the supplementary content is based on individual preferences of the user of the system. U.S. Pat. No. 7,114,170 by Harris et al. describes a method for providing interactive content based on user preferences. U.S. Patent Application 2008/0119132 by Rao incorporates user preference into a system by relaying user choices to a media distribution server that provides both primary and supplementary media content appropriate to the user's preferences. In each of these systems known in the prior art, preference data must be explicitly provided by the user.
The provision of user profile data is a critical issue in any system that performs filtering or selection based on user preference. In prior art systems, filtering criteria are either based on explicit user specification, or on previous usage history. In the former case, provision of sufficiently sophisticated and diagnostic filtering criteria places a great burden on the user, requiring substantial time and effort to indicate preference choices. Furthermore, the quality of the resulting data depends on the quality of preference questions and choices presented to the user. Conversely, in the latter case, the quality of data is limited by the finite interaction history of the user with the specific system, which may not be representative of other areas of choice or interest in a more general media context. For example, if a user buys audio content from both Apple iTunes Store and Rhapsody Music Service®, neither on-line service will have the purchasing history of the other store for use in targeted advertising.
What is required is a system for personalizing supplementary content provided in conjunction with primary media content, so that the supplementary content is relevant to the interests and preferences of the user, without requiring the user to undergo lengthy specification of preference choices.
The present invention provides methods and systems for providing supplementary content to the user of a media player capable of storing or accessing media content, wherein the supplementary content is filtered at least in part based on the inventory of media content accessible to the player.
The system includes a program operable on a media player to generate a request for supplementary content responsive to a selection by a user of one or more of available media content stored on or accessible to the media player. A filter module is operable on the supplementary content generated responsive to the request to create a filtered subset of the supplementary content. The filter module is further operable to create the filtered subset in consideration of the available media content stored on or accessible to the media player. The subset of supplementary content is then presented to the user at the media player.
The method for providing supplementary content operates in conjunction with a media player having stored thereon, or access to, available media content. The method includes generating a request for supplementary content related to at least one of the available media content stored on or accessible to the media player. The supplementary content is further processed in view of the available media content on the media player. Finally, the processed supplementary content is presented (e.g. displayed) to the user at the media player.
In accordance with further aspects of the invention, the supplementary content is displayed while the media player is playing media content.
In accordance with still further aspects of the invention, media content includes at least one of audio content, video content, and multimedia content.
In accordance with still further aspects of the invention, supplementary content includes at least one of textual content, still image content, Internet web page address content, audio content, video content, multimedia content, and interactive content.
In accordance with still further aspects of the invention, the media player plays stored media content.
In accordance with still further aspects of the invention, the media player plays non-stored media content received from an external server of media content.
In accordance with still further aspects of the invention, media content may be accessible to the media player by virtue of being stored in the media player.
In accordance with still further aspects of the invention, media content may be accessible to the media player by virtue of being stored in a store external to and accessible to the media player.
In accordance with still further aspects of the invention, media content may be accessible to the media player by virtue of media rights access data stored in the media player, said media rights access data providing rights to access media content stored in the media player or stored in and accessible through an external media server.
In accordance with still further aspects of the invention, the filtering operation is performed at least in part within the media player.
The preferred and alternative embodiments of the present invention are described in detail below with reference to the following drawings.
By way of overview, embodiments of the present invention provide a method and system for providing supplementary content to the user of a media player, wherein the supplementary content is filtered at least in part by the inventory of media content accessible to the player.
The Apple iPhone is an example of a media player suitable for use in the inventive method and system. In the iPhone, external interface 120 is accomplished by a radio-frequency transceiver supporting digital telephony, and a wireless network interface supporting the 802.11g or similar protocol. Processor 130 is an ARM processor capable of the execution of general instruction codes. Program memory 140 is a combination of RAM and ROM configured for storage of resident and transient application program code. User output interface 150 is a graphics screen, which is touch sensitive and also serves as user input interface 160. Data memory 170 comprises RAM and ROM for storage of operational data, while media content store 180 comprises flash RAM for the storage of audio and video clips. Finally, media output subsystem 190 comprises specialized audio decode hardware, amplifier and speakers for audio processing and output, along with video output displayed on the touch screen. The features of the iPhone herein described are not intended to be a limiting description of the inventive system, but are included only for illustrative purposes.
Notwithstanding the previous description of the iPhone, one skilled in the art will recognize that the various elements of media player 100 can be realized through a variety of means. For example, bus 110 may be a single bus or a series of discrete buses, each of which support a different communication protocol for conveying data between the various subsystems of the media player. External interface 120 may be realized as a wired interface such as USB or Ethernet, or by a wireless protocol such as 802.11g, or through multiple such physical interfaces. Processor 130 may be a singular device, or may be realized in a combination of generalized and specialized processors. Program memory 140, data memory 150, and media content storage 180 may be realized as a combination of RAM and ROM memory, including flash, and may be separate or combined memory systems. User input interface 160 may be a touchscreen, a numeric keypad, a rocker switch, or a combination of these and other hardware interface elements known in the prior art. Media content store 180 may be provided by solid-state, magnetic, optical, opto-magnetic, or other storage devices, and may be integral to the media player 100 or external to the media player and connected to the system bus 110 through an interface (not shown). Alternatively, media content store 180 could store media access rights data which afford access to primary media content stored at a central server or other facility.
Media output subsystem 190 may include special-purpose decoding hardware, amplifiers, device drivers, and output devices capable of displaying audio, video or other content to the user. User output interface 150, user input interface 160, and media output subsystem 190 may share some or all of the same physical hardware. Any or all combinations of such features, as well as others known in the art, may comprise a media player without departing from the spirit and scope of the inventive method and system.
At a further step 320, a supplementary content source prepares a body of supplementary content. The supplementary content is typically related to at least one of the available media content stored on or accessible to the media player. In one example, the selection of one song for play on the media player would trigger the generation of a list of all songs by that same artist. In another example, the selection of that same song may result in a return list of songs that more closely match the type of content on the media player.
At a further step 330, a filtering module obtains information about the inventory of media content accessible to the media player. The information about the inventory may consist of a list of some or all of the media items accessible to the media player, and may include dates of acquisition of any or all of such media items. The information about the inventory may consist of a list of some or all of the creators of the media items accessible to the media player, and may include information regarding the number, size, and/or type of accessible media items created by each such creator. The information about the inventory may be generated before or after the request for supplementary information. The information about the inventory may be incorporated in part or in total within the request for supplementary content, and may be provided in part or in total directly to the filtering module.
At a further step 340, the filtering module filters the body of supplementary content, wherein the filtering operation is based at least in part on the inventory of media content accessible to the media player. One exemplary filtering operation removes items from a list of media content available for purchase, so that a user is not be presented with a list of content for purchase that includes items which the user already owns and has stored on his media device. These redundant content items are removed from the list by the exemplary filtering operation before presentation of the list to the user via the user interface.
At a further step 350, the filtered body of supplementary content is provided to the media player. The supplementary content can then be stored at and/or displayed at the media player in conjunction with selection of the media item. In one example, described below with reference to
The steps of exemplary method 300 may be performed in other sequences or combined where appropriate without departing from the spirit and scope of the inventive method. For example, the initial request for supplementary content may include information regarding the inventory of media accessible to the media player. The filtering operation may be carried out as a series of filtering sub-operations. Some or all of the filtering may be carried out within the source of supplementary content based on information contained within the request for supplementary content. Some or all of the filtering may be carried out within the media player, so that knowledge of the inventory of media content accessible to the media player need not be transmitted outside the media player to accomplish the inventive method.
Using wireless network connectivity built into the media playout device, the GET request is forwarded via HTTP to the supplementary content source 420. The supplementary content source reads the content of the GET message and generates an ordered list 430 of songs by Flogging Molly. In this example, the sorting order corresponds to the cumulative number of times the particular selection has been referenced in all the similar HTTP messages received by the supplementary content source. In another example, the priority order can be determined, for example, by the cumulative number of downloads, or current relative popularity of the songs according to third party lists such as on servers operated by Billboard magazine. Such a priority ordering takes into account the well-known tendency of a consumer to preferentially purchase items which are known to be popular among other consumers. The content of the list may be further conditioned on the identity of the device owner and any history of prior interaction or purchase available at the supplementary content source.
The ordered list of songs is returned to the media player as a response to the HTTP GET message. The list is forwarded to a filtering module 440 contained within the media player. The filtering module also obtains a list 450 of songs performed by Flogging Molly and stored in the media player. The filtering module 440 compares the two lists and creates a filtered list 460 of songs that are not stored in the media player, e.g. using a NAND operator. Note, for instance, that the sorted list 430 includes the first-named item Float and the fourth-named item Drunken Lullabies. Both of these items are already stored on media player 400 and included within list 450. The NAND filtering module 440 thus eliminates these redundant items from the filtered list 460 ultimately presented to the user at the media player. The filtered list of songs is used in an interactive display 470, prompting the user to purchase additional songs by Flogging Molly. Notably, the displayed list does not include songs already stored in the media player.
In the foregoing example, other communication protocols known in the prior art or specifically developed for this purpose could be employed as an alternative to the HTTP GET message. For example, SOAP (Simple Object Access Protocol) or a similar protocol could be used to exchange Extensible Markup Language (XML) documents containing equivalent contents to those described above for the HTTP GET message and response. Alternatively, a plain-text protocol such as SNMP (Simple Network Message Protocol) could be used to exchange textual content in a pre-defined format between the media player and the supplementary content source. In yet another alternative, a binary interface standard such as the COM (Microsoft Windows Component Object Model), CORBA (Common Object Request Broker Architecture), or JavaBeans protocol could be used to exchange such content. In yet a further alternative, a custom data interface protocol could be defined explicitly for the purpose of implementing the current invention.
In the example displayed in
In the foregoing example, the supplementary content consisted of a textual list of additional songs available for purchase. Other types of supplementary content could be provided within the scope of this invention. For example, in addition to the textual list of songs, thumbnail images could be provided of the album covers for those songs. Alternatively, the list could comprise a set of Universal Resource Locators (URLs) that could be used by a browser application on the media player to display web pages in an on-line retail environment related to the songs available for purchase. As yet another alternative,
In this example, the supplementary content source 520 at MusicSource.com passes inference data 530 comprising the song name, song artist, and category and count information to an inference engine 540 that evaluates the distribution of content among the various categories and infers what songs might be of maximal interest. The inference engine examines the various categories and determines that categories “Celtic”, “folk” and “punk” are relatively highly populated, and infers that the user has an interest in contemporary Celtic punk and folk music. The inference engine filters the list of all songs known to the inference engine to generate a list of songs 550 matching these categories and forwards the list to the supplementary content source. The supplementary content source uses the identity of the user to examine any stored transaction history at MusicSource.com to eliminate from the list songs which Summer W. has already purchased. Note that this step of filtering does not meet the criterion of the current invention, since purchased songs are not necessarily stored on or accessible to the media player; however, this filtering step does eliminate redundant purchases from the list presented to the media player.
The supplementary content source then selects the most popular four songs on the filtered list and prepares a response packet 560 that includes short audio snippets of these songs, along with identifying data and purchase information. For example, this supplementary content may include mp3 compressed audio files of the songs “Tuesday Morning” by the Pogues, “Famous for Nothing” by Dropkick Murphy, “Fisherman's Blues” by the Waterboys, and “Float” by Flogging Molly, which are all Celtic punk rock songs that have been inferred to match Summer W.'s musical tastes.
Since Summer W. may have acquired songs from sources other than MusicSource.com, the musical playout application executing on her personal computer compares the list 560 of songs in the response packet with the inventory 580 of songs on Summer W.'s computer (e.g. via filtering module 570) to further eliminate any redundant songs from the response packet as via a NAND operation. The further filtered content results in a list 590 of sample songs where one item, the song Float, has been eliminated from the list of four songs identified by the supplementary content provider at 560. The musical playout application then interactively displays the selections from the list 590 on the display 595 of the personal computer, allowing Summer W. to listen to and purchase any or all of the selections. In this example, information about the inventory of audio stored on the media playout device has been used in two separate filtering steps, first at the inference engine 540, and then within the media playout device 500.
In this example, the viewer enjoys watching movies staring the actor Nicholas Cage, so in response to viewer action, an application executing on the PVR constructs a Simple Network Message Protocol (SNMP) packet 620 and transmits it via Plain Old Telephone Service (POTS) 630 to a supplementary content source 640, requesting a list of movies in which Nicholas Cage appears. The supplementary content source prepares an XML document 650 containing a list of movie titles in which Nicholas Cage is an actor, and returns the list to the PVR. The XML document can take the following form:
The list may include additional information (not shown) such as a synopsis of the plot of the movie, director's name, release date, length, Motion Picture Association of America (MPAA) rating, list of actor's names, and so forth. The movie list 650 is then filtered based on the list 660 of movies stored in the PVR. As pictured, the list includes some movies (denoted by bold-italicized type) which are stored on the device but not currently accessible to the viewer, in this case the titles “Dark Night” and “National Treasure: Book of Secrets”. The list 660 of stored movies also includes movies that do not include the object of the search, Nicholas Cage. In this example, the list 650 can be filtered via filtering module 670 in multiple ways, based on the list of content stored in the PVR.
In one alternative, the viewer can be presented with a filtered list of movies currently accessible on the PVR (in this case, the titles “City of Angels”, “Family Man”, “National Treasure”, and “Weather Man”). Any of the titles on this list are available for immediate viewing. These are shown to the viewer at the display 600 as items “YOU CAN VIEW.”
In a second alternative, the viewer can be presented with a filtered list of movies accessible on the PVR but currently locked (in this case, the title “National Treasure: Book of Secrets”). In order for the viewer to access this title, the viewer would first have to acquire the appropriate DRM code through a purchase interaction with the content supplier. Any titles in this category could be available for viewing after a brief interval for the purchase transaction. These are shown to the viewer at the display 600 as items “YOU CAN UNLOCK ($).”
In a third alternative, the viewer can be presented with a filtered list of movies that are not immediately accessible to the PVR but which could be purchased and downloaded for future viewing (in this case, the titles “Adaptation”, “Captain Corelli's Mandolin”, “Christmas Carol: The Movie”, “Ghost Rider”, “Gone in Sixty Seconds”, “Grindhouse”, “Lord of War”, “Matchstick Men”, “Next”, “Wicker Man”, “Windtalkers”, and “World Trade Center”). Any titles in this category could be available for viewing only after a prolonged period necessary for downloading the movie content. Additional supplementary information such as plot synopsis could be presented to the viewer to assist with a purchasing decision. These are shown to the viewer at the display 600 as items “YOU CAN DOWNLOAD.”
The exemplary filtering methods depicted in
Aspects of any of the examples described above may be combined with aspects of any of the other examples described to form further examples without losing the effect sought.
While the preferred embodiment of the invention has been illustrated and described, as noted above, many changes can be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is not limited by the disclosure of the preferred embodiment. Instead, the invention should be determined entirely by reference to the claims that follow.