System and method for providing recommendation based on short-media viewing profile and long-media viewing profile
The media guide application addresses the issue of irrelevant recommendations by maintaining separate user profiles for short and long media consumption, providing tailored suggestions based on current viewing behavior and improving user engagement.
Patent Information
- Application Number
- JP2025055760
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2017-11-16
- Filing Date
- 2025-03-28
- Publication Date
- 2025-06-19
- Estimated Expiration
- 2038-11-13
AI Technical Summary
Current television systems fail to provide user-specific recommendations or advertisements based on current viewing behavior, as they typically maintain only a single user profile that does not account for differences in user preferences between short-form and long-form media consumption.
A media guide application that separately tracks user behavior during short media and long media consumption periods, maintaining two user profiles (short media viewing profile and long media viewing profile) to provide tailored recommendations based on the currently active profile.
Improves the relevance and quality of recommendations and advertisements by aligning them with the user's current viewing activity, enhancing the overall operation of the media guide application.
Smart Images

Figure 2025092641000001_ABST
Abstract
Description
Background Art
[0001] A typical television system can provide recommendations or advertisements to a user based on a maintained user profile. Typically, only a single user profile is maintained for each user. At most, multiple profiles can be maintained based on the user's location. However, such profiles cannot take into account the user's current viewing behavior. In particular, a user currently viewing long-form media content (e.g., a feature film) is usually, at that time, very different types of recommendations or advertisements from a user who is engaged in viewing short-form media content (e.g., a video clip, a short video created by the user such as a YOUTUBE (registered trademark) video, or a news video). As a result, current systems often provide inefficient recommendations or advertisements that do not match the user's current preferences.
Summary of the Invention
Problems to be Solved by the Invention
[0002] For this and other purposes, in some embodiments, a media guide application may separately track a user's behavior during periods when the user consumes short media and during periods when the user consumes long media. Specifically, two different user profiles (a short media viewing profile and a long media viewing profile) are maintained, and each profile tracks the user's behavior during its respective period. Later, when the user consumes media content, the length of that content is compared to a threshold. If the media content is sufficiently long, the long media viewing profile is activated. Otherwise, the short media viewing profile is activated. As a result, recommendations or advertisements may be provided to the user based on the currently active profile. Since users often have different preferences when viewing media content of different lengths, such utilization of the two profiles improves the quality and relevance of recommendations and advertisements. In particular, the operation of the media guide application is improved because the provided recommendations and advertisements are better suited to the user's current viewing activity.
Means for Solving the Problems
[0003] According to some embodiments of the present disclosure, a media guide application may provide recommendations to a user. In some embodiments, the media guide application may maintain a short media viewing profile for the user. For example, the media guide application may store the user's behavior during a period when the user is viewing short media content (e.g., YOUTUBE (registered trademark) videos, movie clips, news articles, etc.). The stored user behavior may include making requests for other content (e.g., media content or web pages), interacting with advertisements, making phone calls, sending text messages, any other requests, or any combination thereof.
[0004] In some embodiments, the media guide application may maintain a long media viewing profile for the user. For example, the media guide application may remember the user's behavior during the period when the user is viewing long media content (e.g., a long movie, a long TV series episode, etc.). The remembered user behavior may include requesting other content (e.g., media content or a web page), interacting with an advertisement, making a phone call, sending a text message, any other request, or any combination thereof.
[0005] In some embodiments, in response to determining that the user is currently engaged in viewing short media, the media guide application may provide recommendations to the user based on a short media viewing profile. For example, if the user is engaged in viewing short media content (e.g., a YOUTUBE (registered trademark) video, a movie clip, a news article, etc.), the media guide application may identify recommendations that match the information stored in the short media viewing profile. In some embodiments, if the short media viewing profile includes data that the user positively reacted to a pizza advertisement when viewing short media in the past, the media guide application may present an offer of pizza to the user. In some embodiments, the media guide application may provide a recommendation to view a second short media content.
[0006] In some embodiments, the media guide application may provide recommendations to the user in response to determining that the user is currently engaged in viewing long media. For example, if the user is engaged in viewing long-form media content (e.g., a feature film or an entire television series episode), the media guide application may identify recommendations that match the information stored in the long media viewing profile. For example, if the long media viewing profile includes data that the user positively reacted to car advertisements when viewing long media in the past, the media guide application may present an offer for a car lease to the user. In some embodiments, the media guide application may provide a recommendation to view a second long-form media content.
[0007] According to some embodiments of the present disclosure, the media guide application may provide recommendations to the user. In some embodiments, the media guide application may track the user's behavior while the user is engaged in viewing short-form media content. For example, the media guide application may track the user's behavior during the time the user is viewing short-form media content (e.g., a YOUTUBE (registered trademark) video, a movie clip, a news article). For example, the tracked user behavior may include one or more of requests for content or data made by the user, the user's interaction with any advertisements, any calls made by the user, and any websites visited by the user.
[0008] In some embodiments, the media guide application may generate a short media viewing profile based on the behavior of the user tracked while the user was engaged in viewing short media content. In some embodiments, the short media viewing profile may comprise a plurality of recommended metadata. For example, the media guide application may generate or update a short media viewing profile to store recommended metadata related to actions performed by the user. In some embodiments, if the user requests any type of content during the viewing of short media content, the metadata associated with that content may be stored by the media guide application as recommended metadata. For example, if the user requests a video, the media guide application may store at least one of the title, genre, and name of the actor as recommended metadata. In another example, if the user clicks on an advertisement provided, the media guide application may store the metadata associated with that advertisement as recommended metadata. For example, at least one of the company name, product name, and title of the advertisement may be stored by the media guide application as recommended metadata. In yet another example, if the user visits a website, the media guide application may store at least one of the website URL and keywords associated with that website as recommended metadata.
[0009] In some embodiments, the media guide application may track a user's behavior while the user is engaged in viewing long-form media content. For example, the media guide application may track a user's behavior during the time the user is viewing long-form media content (e.g., a feature film or an entire television program episode). For example, the tracked user behavior may include one or more of requests made by the user for content or data, the user's interaction with any advertisements, any phone calls made by the user, and any websites visited by the user.
[0010] In some embodiments, the media guide application may generate a long media viewing profile based on the behavior of the user tracked while the user was engaged in viewing long-form media content. In some embodiments, the long media viewing profile may comprise a plurality of recommended metadata. For example, the media guide application may generate or update the long media viewing profile to store recommended metadata associated with actions performed by the user. In some embodiments, if the user requests any kind of content during the viewing of long-form media content, the metadata associated with that content may be stored by the media guide application as recommended metadata. For example, if the user requests a video, the media guide application may store at least one of a title, a genre, and an actor's name as recommended metadata. In another example, if the user clicks on an advertisement provided, the media guide application may store the metadata associated with that advertisement as recommended metadata. For example, at least one of a company name, a product name, and an advertisement title may be stored by the media guide application as recommended metadata. In yet another example, if the user visits a website, the media guide application may store at least one of a website URL and keywords associated with that website as recommended metadata.
[0011] In some embodiments, the media guide application may provide media content to the user. In some embodiments, the media content may be provided to the user's device. For example, the media guide application may provide a movie or a television program for display on the user's television or computer screen. In another example, the media guide application may provide media content to any kind of media content playback device.
[0012] In some embodiments, the media guide application may then compare the length of the media content to a length threshold. For example, the length threshold may be set to 15 minutes. That is, any media content shorter than 15 minutes may be considered short media content, while any media content equal to or longer than 15 minutes may be considered long media content. In some embodiments, any other time value may be used as the length threshold. In some embodiments, the length threshold may be dynamically adjusted by the media guide application.
[0013] In some embodiments, in response to determining that the length of the media content corresponds to (e.g., exceeds) the length threshold, the media guide application may activate a long media viewing profile. In some embodiments, the activated profile may be used for any action that requires data from the user profile. In some embodiments, only the currently active profile is updated based on the user's further behavior. In some embodiments, the activated profile may be used to provide recommendations to the user. In some embodiments, the media guide application may select recommended items, and the metadata of the recommended items matches at least one recommended metadata of the long media viewing profile (i.e., the currently active profile).
[0014] In some embodiments, the media guide application may access a database of available recommended items. Each recommended item is associated with the recommended content and may include metadata associated with the recommended content. In some embodiments, the recommended item may be associated with an advertisement and may include metadata associated with that advertisement. For example, if the recommended item is associated with a Ford commercial, the recommended item may include metadata such as the title of the advertisement (e.g., "Ford Commercial #78"), the general advertisement space (e.g., "car commercial"), keywords (e.g., "car", "automobile", "Ford"), or any other metadata. In some embodiments, the recommended item may be associated with media content and may include metadata associated with that media content. For example, if the recommended item is associated with the movie "Good Will Hunting", the recommended item may include metadata such as the title (e.g., "Good Will Hunting"), the genre (e.g., "drama" or "comedy"), the actors (e.g., "Matt Damon"), the length (e.g., 126 minutes), etc.
[0015] In some embodiments, the media guide application may compare the metadata included in the recommended item with the recommended metadata included in a long media viewing profile (i.e., the currently active profile). If the comparison shows a sufficient match between the metadata, the media guide application may select that recommended item for presentation to the user. In some embodiments, the media guide application may then provide the recommended item to the user device. For example, the recommended item may be provided to the same device used to provide the media content. In some embodiments, the recommended item may be provided to different devices belonging to the user (e.g., the user's phone or computer).
[0016] In some embodiments, the media guide application may activate a short media viewing profile in response to determining that the length of the media content does not correspond to (e.g., exceeds) a length threshold. In some embodiments, the activated profile may be used to provide recommendations to the user. In some embodiments, the media guide application may select a recommended item, and the metadata of the recommended item may match at least one recommended metadata of the short media viewing profile (i.e., the currently active profile).
[0017] In some embodiments, the media guide application may access a database of available recommended items. Each recommended item may be associated with the recommended content and may include metadata associated with the recommended content. In some embodiments, the media guide application may compare the metadata included in the recommended item with the recommended metadata included in the short media viewing profile (i.e., the currently active profile). For example, if the recommended item is associated with a Domino’s Pizza commercial, the recommended item may include metadata such as the title of the advertisement (e.g., “Domino’s Pizza Commercial #78”), the general advertising space (e.g., “Pizza Commercials”), keywords (e.g., “pizza”, “takeout”, “Domino’s”), or any other metadata. In some embodiments, the recommended item may be associated with media content and may include metadata associated with that media content. For example, if the recommended item is associated with the music video “Thriller”, the recommended item may include metadata such as the title (e.g., “Thriller”), the genre (e.g., “Music Video”), the performer (e.g., “Michael Jackson”), the length (e.g., 14 minutes), etc.
[0018] If the comparison shows sufficient match between the metadata, the media guide application may select its recommended items for presentation to the user. In some embodiments, the media guide application may then provide the recommended items to the user device. For example, the recommended items may be provided to the same device used to provide media content. In some embodiments, the recommended items may be provided to different devices belonging to the user (e.g., the user's phone or computer).
[0019] In some embodiments, the media guide application may generate a short media viewing profile using the following series of steps. In some embodiments, the media guide application may determine that the user is viewing short media content. For example, the media guide application may determine that the length of the currently provided media content does not exceed a length threshold (e.g., 15 minutes). The media guide application may then monitor the user requests regarding the content during or immediately after (e.g., within 1 minute) the short media content is being played. For example, the media guide application may monitor the user's device and any other devices associated with the user regarding content requests. In some embodiments, the content requests may be requests regarding other media content, requests regarding web pages, requests regarding data from mobile applications, or any combination thereof. In some embodiments, the media guide application may then store the metadata associated with the user requests. For example, if the user requests a video during or immediately after the short media content is being played, the media guide application may store any metadata associated with that video in the short media viewing profile.
[0020] In some embodiments, the media guide application may generate a short media viewing profile using the following series of steps. In some embodiments, the media guide application may determine that the user is viewing short media content. For example, the media guide application may determine that the length of the currently provided media content does not exceed a length threshold (e.g., 15 minutes). The media guide application may then provide an advertisement to the user device during or immediately after the short media content is being played. For example, the media guide application may provide the advertisement on the same device used to provide the media content or any other device associated with the user. For example, the media guide application may provide the advertisement to the user's television, phone, or any other user device.
[0021] In some embodiments, the media guide application may then monitor the user's response to the advertisement. For example, the media guide application may monitor whether the user interacted with the advertisement in any way. In some embodiments, any detected user interaction with the advertisement (e.g., a click) may be interpreted as a favorable response. In some embodiments, the media guide application may store the metadata associated with the advertisement in response to determining that the user's response was favorable. For example, if the user clicks on an advertisement for a pizza offer, the media guide application may store the keyword "pizza" in the short media viewing profile.
[0022] In some embodiments, the media guide application may generate a long media viewing profile using the following series of steps. In some embodiments, the media guide application may determine that the user is viewing long-form media content. For example, the media guide application may determine that the length of the currently provided media content exceeds a length threshold (e.g., 15 minutes). The media guide application may then monitor user requests regarding the content during or immediately after (e.g., within 1 minute) the long-form media content is being played. For example, the media guide application may monitor the user's device and any other devices associated with the user for content requests. In some embodiments, the content requests may be requests for other media content, requests for web pages, requests for data from mobile applications, or any combination thereof. In some embodiments, the media guide application may then store metadata associated with the user requests. For example, if the user requests a video during or immediately after the long-form media content is being played, the media guide application may store any metadata (e.g., title or genre) associated with that video within the long media viewing profile. For example, if the user requests a "New York Giants" video clip, the media guide application may store the keywords "Giants" and "sports" within the long media viewing profile.
[0023] In some embodiments, the media guide application may generate a long media viewing profile using the following series of steps. In some embodiments, the media guide application may determine that the user is viewing long-form media content. For example, the media guide application may determine that the length of the currently provided media content exceeds a length threshold (e.g., 15 minutes). The media guide application may then provide an advertisement to the user device during or immediately after the time that the long-form media content is being played. For example, the media guide application may provide the advertisement on the same device used to provide the media content or any other device associated with the user. For example, the media guide application may provide the advertisement to the user's television, phone, or any other user device.
[0024] In some embodiments, the media guide application may then monitor the user's response to the advertisement. For example, the media guide application may monitor whether the user interacted with the advertisement in any way. In some embodiments, any detected user interaction with the advertisement (e.g., a click) may be interpreted as a favorable response. In some embodiments, the media guide application may store the metadata associated with the advertisement in response to determining that the user's response was favorable.
[0025] In some embodiments, the media guide application may activate one of the user profiles even when the user is not currently consuming any media content. In some embodiments, the media guide application may analyze at least one of the time, the user's location, and the search input received from the user to determine whether the user is in the mood to appreciate long-form media content or short-form media content. For example, the media guide application may have data indicating that the user is in the mood to appreciate long-form media content on a weekend evening. In this example, if the current time is after 6:00 PM on Saturday or Sunday, the media guide application may determine that the user is in the mood to appreciate long-form media content. In another example, the media guide application may have data indicating that the user is in the mood to appreciate short-form media content when the user is at work (e.g., during a lunch break). In this example, if the current user location is the user's workplace, the media guide application may determine that the user is in the mood to appreciate short-form media content.
[0026] In some embodiments, in response to determining that the user is in the mood to appreciate long-form media content, the media guide application may activate a long media viewing profile. For example, if the media guide application determines, based on time information, that the user is in the mood to appreciate long-form media content, the media guide application may activate a long media viewing profile even before the user requests any type of media content for viewing.
[0027] In some embodiments, the media guide application may activate a short media viewing profile in response to determining that the user is in the mood to view short media content. For example, if the media guide application determines, based on the user's location, that the user is in the mood to view short media content, the media guide application may activate the short media viewing profile even before the user requests any type of media content for viewing.
[0028] In some embodiments, the media guide application may provide recommended items to the user device using the following series of steps. In some embodiments, the media guide application may determine whether a short media viewing profile is active. If so, the media guide application may select short recommended items associated with second short media content. That is, when selecting recommended items, the media guide application may only consider recommended items that would recommend media content having a short length. In some embodiments, the media guide application may then provide the short recommended items to the user device. That is, when the short media viewing profile is active, in some embodiments, the media guide application may provide recommendations only with respect to other short content.
[0029] In some embodiments, the media guide application may provide recommended items to the user device using the following series of steps. In some embodiments, the media guide application may determine whether a long media viewing profile is active. If so, the media guide application may select long recommended items associated with a second long media content. That is, when selecting recommended items, the media guide application may consider only recommended items that would recommend media content having a long length. In some embodiments, the media guide application may then provide the long recommended items to the user device. That is, when a long media viewing profile is active, in some embodiments, the media guide application may provide recommendations only with respect to long content. The present invention further provides, for example, the following. (Item 1) A method of providing recommendations to a user, the method comprising: maintaining a short media viewing profile for the user; maintaining a long media viewing profile for the user; providing recommendations to the user based on the short media viewing profile in response to determining that the user is currently engaged in viewing short media content; providing recommendations to the user based on the long media viewing profile in response to determining that the user is currently engaged in viewing long media content. A method comprising. (Item 2) A method of providing recommendations to a user, the method comprising: tracking the behavior of the user while the user is engaged in viewing short media content; Generating a short media viewing profile based on the behavior of the user tracked when the user was involved in viewing short media content, the short media viewing profile comprising a plurality of recommended metadata; Tracking the behavior of the user while the user is involved in viewing long media content; Generating a long media viewing profile based on the behavior of the user tracked when the user was involved in viewing long media content, the long media viewing profile comprising a plurality of recommended metadata; Providing media content to a user device; Comparing the length of the media content with a length threshold; In response to determining that the length of the media content corresponds to the length threshold, Activating the long media viewing profile; Selecting a recommended item, wherein the metadata of the recommended item matches at least one recommended metadata of the long media viewing profile; Providing the recommended item to the user device; In response to determining that the length of the media content does not correspond to the length threshold, Activating the short media viewing profile; Selecting a recommended item, wherein the metadata of the recommended item matches at least one recommended metadata of the short media viewing profile; Providing the recommended item to the user device A method comprising. (Item 3) The long media content comprises at least one feature film or full-length TV episode, The method according to item 2, wherein the short media content includes at least one of short videos, video clips, music videos, and news videos created by the user. (Item 4) Generating a short media viewing profile includes: Determining that the user is viewing short media content; In response to determining that the user is viewing short media content, Monitoring user requests regarding the content during or immediately after the time when the short media content is being played; Storing metadata associated with the user requests. The method according to item 2. (Item 5) Generating a short media viewing profile includes: Determining that the user is viewing short media content; In response to determining that the user is viewing short media content, Providing an advertisement to the user device during or immediately after the time when the short media content is being played; Monitoring the user's response to the advertisement; In response to determining that the user's response is favorable, storing metadata associated with the advertisement. The method according to item 2. (Item 6) Generating a long media viewing profile includes: Determining that the user is viewing long media content; In response to determining that the user is viewing long media content, Monitoring user requests regarding the content during or immediately after the time when the long media content is being played; Storing metadata associated with the user requests. The method according to item 2, comprising (Item 7) Generating a long media viewing profile includes Determining that the user is viewing long media content, and In response to determining that the user is viewing long media content, Providing an advertisement to the user device during or immediately after the time when the long media content is being played, and Monitoring the user's response to the advertisement, and Storing metadata associated with the advertisement in response to determining that the user's response was favorable The method according to item 2, comprising (Item 8) Analyzing at least one of the time, the user's location, and the search input received from the user to determine whether the user is in the mood to view long media content or short media content, and Activating the long media viewing profile in response to determining that the user is in the mood to view long media content, and Activating the short media viewing profile in response to determining that the user is in the mood to view short media content The method according to item 2, further comprising (Item 9) Providing the recommended item to the user device includes In response to determining that the short media viewing profile is active, Selecting a short recommended item associated with a second short media content, and Providing the short recommended item to the user device The method according to item 2, comprising (Item 10) Providing the recommended item to the user device includes In response to determining that the long media viewing profile is active, selecting long recommended items associated with a second long media content, and providing the long recommended items to the user device The method according to item 2, comprising: (Item 11) The method according to item 2, wherein the recommended item is an advertisement having metadata that matches at least one recommended metadata of the activated viewing profile. (Item 12) A system for providing recommendations to a user, the system comprising a control circuit, the control circuit tracking the behavior of the user while the user is engaged in viewing short media content, generating a short media viewing profile based on the behavior of the user tracked when the user was engaged in viewing short media content, the short media viewing profile comprising a plurality of recommended metadata, tracking the behavior of the user while the user is engaged in viewing long media content, generating a long media viewing profile based on the behavior of the user tracked when the user was engaged in viewing long media content, the long media viewing profile comprising a plurality of recommended metadata, providing media content to a user device, comparing the length of the media content with a length threshold, in response to determining that the length of the media content corresponds to the length threshold, activating the long media viewing profile, Selecting a recommended item, wherein metadata of the recommended item matches at least one piece of recommended metadata of the long media viewing profile, Providing the recommended item to the user device, In response to determining that the length of the media content does not correspond to the length threshold, Activating the short media viewing profile, Selecting a recommended item, wherein metadata of the recommended item matches at least one piece of recommended metadata of the short media viewing profile, Providing the recommended item to the user device A system configured to perform. (Item 13) The long media content includes at least one feature film or full-length TV episode, The system according to item 12, wherein the short media content includes at least one of a short video created by the user, a video clip, a music video, and a news video. (Item 14) The control circuit, Determining that the user is viewing short media content, In response to determining that the user is viewing short media content, Monitoring user requests regarding the content during or immediately after the time when the short media content is being played, Storing metadata associated with the user request The system according to item 12, configured to generate a short media viewing profile by. (Item 15) The control circuit, Determining that the user is viewing short media content, In response to determining that the user is viewing short media content, providing an advertisement to the user device during or immediately after the time when the short media content is being played; monitoring the user's response to the advertisement; storing metadata associated with the advertisement in response to determining that the user's response was favorable; The system according to item 12, configured to generate a short media viewing profile by the above. (Item 16) The control circuit determines that the user is viewing long media content; In response to determining that the user is viewing long media content, monitoring user requests regarding the content during or immediately after the time when the long media content is being played; storing metadata associated with the user request; The system according to item 12, configured to generate a long media viewing profile by the above. (Item 17) The control circuit determines that the user is viewing long media content; In response to determining that the user is viewing long media content, providing an advertisement to the user device during or immediately after the time when the long media content is being played; monitoring the user's response to the advertisement; storing metadata associated with the advertisement in response to determining that the user's response was favorable; The system according to item 12, configured to generate a long media viewing profile by the above. (Item 18) The control circuit Analyze at least one of the time, the user's location, and the search input received from the user, and determine whether the user is in the mood to appreciate long-form media content or short-form media content, and In response to determining that the user is in the mood to appreciate long-form media content, activate the long media viewing profile, and In response to determining that the user is in the mood to appreciate short-form media content, activate the short media viewing profile The system according to item 12, further configured to perform. (Item 19) The control circuit is In response to determining that the short media viewing profile is active, Select short recommended items associated with the second short-form media content, and Provide the short recommended items to the user device The system according to item 12, configured to provide the recommended items to the user device by. (Item 20) The control circuit is In response to determining that the long media viewing profile is active, Select long recommended items associated with the second long-form media content, and Provide the long recommended items to the user device The system according to item 12, configured to provide the recommended items to the user device by. (Item 21) The recommended item is an advertisement having metadata that matches at least one piece of recommended metadata of the activated viewing profile, the system according to item 12. (Item 22) An apparatus for providing recommendations to a user, the method comprising Means for tracking the behavior of the user while the user is involved in appreciating short media content; Means for generating a short media viewing profile based on the behavior of the user tracked when the user was involved in appreciating short media content, wherein the short media viewing profile includes a plurality of recommended metadata; Means for tracking the behavior of the user while the user is involved in appreciating long media content; Means for generating a long media viewing profile based on the behavior of the user tracked when the user was involved in appreciating long media content, wherein the long media viewing profile includes a plurality of recommended metadata; Means for providing media content to a user device; Means for comparing the length of the media content with a length threshold; In response to determining that the length of the media content corresponds to the length threshold, Means for activating the long media viewing profile; Means for selecting a recommended item, wherein the metadata of the recommended item matches at least one recommended metadata of the long media viewing profile; Means for providing the recommended item to the user device; In response to determining that the length of the media content does not correspond to the length threshold, Means for activating the short media viewing profile; Means for selecting a recommended item, wherein the metadata of the recommended item matches at least one recommended metadata of the short media viewing profile; Means for providing the recommended item to the user device An apparatus comprising. (Item 23) The long media content includes at least one full-length movie or full-length TV episode. The short media content includes at least one of short videos, video clips, music videos, and news videos created by the user, the apparatus according to item 22. (Item 24) The means for generating a short media viewing profile includes means for determining that the user is viewing short media content, in response to determining that the user is viewing short media content, means for monitoring user requests regarding the content during or immediately after the time when the short media content is being played, and means for storing metadata associated with the user requests, the apparatus according to item 22. (Item 25) The means for generating a short media viewing profile includes means for determining that the user is viewing short media content, in response to determining that the user is viewing short media content, means for providing an advertisement to the user device during or immediately after the time when the short media content is being played, means for monitoring the user's response to the advertisement, and means for storing metadata associated with the advertisement in response to determining that the user's response was favorable, the apparatus according to item 22. (Item 26) The means for generating a long media viewing profile includes means for determining that the user is viewing long media content, in response to determining that the user is viewing long media content, Means for monitoring user requests regarding the content during or immediately after the time when the long media content is being played, Means for storing metadata associated with the user requests The apparatus according to item 22, comprising the above. (Item 27) The means for generating a long media viewing profile Means for determining that the user is viewing long media content, In response to determining that the user is viewing long media content, Means for providing an advertisement to the user device during or immediately after the time when the long media content is being played, Means for monitoring the user's response to the advertisement, In response to determining that the user's response is favorable, means for storing metadata associated with the advertisement The apparatus according to item 22, comprising the above. (Item 28) Means for analyzing at least one of the time, the user's location, and the search input received from the user, and determining whether the user is in the mood to view long media content or short media content, In response to determining that the user is in the mood to view long media content, means for activating the long media viewing profile, In response to determining that the user is in the mood to view short media content, means for activating the short media viewing profile The apparatus according to item 22, further comprising the above. (Item 29) Providing the recommended item to the user device In response to determining that the short media viewing profile is active, Means for selecting a short recommended item associated with a second short media content, means for providing the short recommended item to the user device and The apparatus according to item 22, comprising: (Item 30) The means for providing the recommended item to the user device is in response to determining that the long media viewing profile is active, means for selecting a long recommended item associated with a second long media content; and means for providing the long recommended item to the user device The apparatus according to item 22, comprising: (Item 31) The recommended item is an advertisement having metadata that matches at least one recommended metadata of the activated viewing profile, according to item 22 of the apparatus. (Item 32) A non-transitory computer-readable medium encoded with non-transitory computer-readable instructions for providing recommendations to a user, the non-transitory computer-readable instructions comprising: instructions for tracking the user's behavior while the user is engaged in viewing short media content; instructions for generating a short media viewing profile based on the user's behavior tracked when the user was engaged in viewing short media content, the short media viewing profile comprising a plurality of recommended metadata; instructions for tracking the user's behavior while the user is engaged in viewing long media content; instructions for generating a long media viewing profile based on the user's behavior tracked when the user was engaged in viewing long media content, the long media viewing profile comprising a plurality of recommended metadata; instructions for providing media content to a user device; Instructions for comparing the length of the media content with a length threshold, In response to determining that the length of the media content corresponds to the length threshold, Activating the long media viewing profile, Selecting recommended items, wherein the metadata of the recommended items matches at least one piece of recommended metadata of the long media viewing profile, Providing the recommended items to the user device Instructions for performing, In response to determining that the length of the media content does not correspond to the length threshold, Activating the short media viewing profile, Selecting recommended items, wherein the metadata of the recommended items matches at least one piece of recommended metadata of the short media viewing profile, Providing the recommended items to the user device Instructions for performing A non-transitory computer-readable medium comprising. (Item 33) The long media content comprises at least one feature film or full-length TV episode, The short media content comprises at least one of short videos, video clips, music videos, and news videos created by the user. The non-transitory computer-readable medium according to item 32. (Item 34) The instructions for generating a short media viewing profile are Instructions for determining that the user is viewing short media content, In response to determining that the user is viewing short media content, Monitoring user requests regarding the content during or immediately after the time when the short media content is being played, Storing metadata associated with the user request and instructions for doing so The non-transitory computer-readable medium according to item 32, comprising (Item 35) The instructions for generating a short media viewing profile include instructions for determining that the user is viewing short media content, and in response to determining that the user is viewing short media content, providing an advertisement to the user device during or immediately after the time when the short media content is being played, monitoring the user's response to the advertisement, and in response to determining that the user's response is favorable, storing metadata associated with the advertisement and instructions for doing so The non-transitory computer-readable medium according to item 32, comprising (Item 36) The instructions for generating a long media viewing profile include instructions for determining that the user is viewing long media content, and in response to determining that the user is viewing long media content, monitoring user requests regarding the content during or immediately after the time when the long media content is being played and storing metadata associated with the user request and instructions for doing so The non-transitory computer-readable medium according to item 32, comprising (Item 37) The instructions for generating a long media viewing profile include instructions for determining that the user is viewing long media content, In response to determining that the user is viewing long-form media content, providing an advertisement to the user device during or immediately after the time the long-form media content is being played, and monitoring the user's response to the advertisement, and in response to determining that the user's response was favorable, storing metadata associated with the advertisement Instructions for performing The non-transitory computer-readable medium according to item 32, comprising: (Item 38) Instructions for analyzing at least one of a time, a user location, and a search input received from the user to determine whether the user is in a mood to view long-form media content or short-form media content, and Instructions for activating the long media viewing profile in response to determining that the user is in a mood to view long-form media content, and Instructions for activating the short media viewing profile in response to determining that the user is in a mood to view short-form media content The non-transitory computer-readable medium according to item 32, further comprising: (Item 39) The instructions for providing the recommended item to the user device In response to determining that the short media viewing profile is active, Selecting a short recommended item associated with a second short-form media content, and Providing the short recommended item to the user device Instructions for performing The non-transitory computer-readable medium according to item 32, comprising: (Item 40) The instructions for providing the recommended item to the user device In response to determining that the long media viewing profile is active, selecting long recommended items associated with a second long media content and providing the long recommended items to the user device instructions for performing A non-transitory computer-readable medium according to item 32, comprising (Item 41) The non-transitory computer-readable medium according to item 32, wherein the recommended item is an advertisement having metadata that matches at least one recommended metadata of the activated viewing profile. (Item 42) A method of providing recommendations to a user, the method comprising: tracking the user's behavior while the user is engaged in viewing short media content; generating a short media viewing profile based on the user's behavior tracked when the user was engaged in viewing short media content, the short media viewing profile comprising a plurality of recommended metadata; tracking the user's behavior while the user is engaged in viewing long media content; generating a long media viewing profile based on the user's behavior tracked when the user was engaged in viewing long media content, the long media viewing profile comprising a plurality of recommended metadata; providing media content to a user device; comparing the length of the media content with a length threshold; in response to determining that the length of the media content corresponds to the length threshold, activating the long media viewing profile; Selecting a recommended item, wherein metadata of the recommended item matches at least one piece of recommendation metadata of the long media viewing profile, Providing the recommended item to the user device, In response to determining that the length of the media content does not correspond to the length threshold, Activating the short media viewing profile, Selecting a recommended item, wherein metadata of the recommended item matches at least one piece of recommendation metadata of the short media viewing profile, Providing the recommended item to the user device A method comprising: (Item 43) The long media content comprises at least one feature film or full-length TV episode, The short media content comprises at least one of short videos, video clips, music videos, and news videos created by the user. The method according to item 42. (Item 44) Generating a short media viewing profile comprises: Determining that the user is viewing short media content, In response to determining that the user is viewing short media content, Monitoring user requests regarding the content during or immediately after the time when the short media content is being played, Storing metadata associated with the user requests The method according to any one of items 42-43, comprising: (Item 45) Generating a short media viewing profile comprises: Determining that the user is viewing short media content, In response to determining that the user is viewing short media content, Providing an advertisement to the user device during or immediately after the time when the short media content is being played; and Monitoring the user's response to the advertisement; and Storing metadata associated with the advertisement in response to determining that the user's response was favorable The method according to any one of items 42 - 44. (Item 46) Generating a long media viewing profile includes Determining that the user is viewing long media content; and In response to determining that the user is viewing long media content, Monitoring user requests regarding the content during or immediately after the time when the long media content is being played; and Storing metadata associated with the user requests The method according to any one of items 42 - 45. (Item 47) Generating a long media viewing profile includes Determining that the user is viewing long media content; and In response to determining that the user is viewing long media content, Providing an advertisement to the user device during or immediately after the time when the long media content is being played; and Monitoring the user's response to the advertisement; and Storing metadata associated with the advertisement in response to determining that the user's response was favorable The method according to any one of items 42 - 46. (Item 48) Analyze at least one of the time, the user's location, and the search input received from the user, and determine whether the user is in the mood to appreciate long-form media content or short-form media content, and In response to determining that the user is in the mood to appreciate long-form media content, activate the long media viewing profile, and In response to determining that the user is in the mood to appreciate short-form media content, activate the short media viewing profile The method according to any one of items 42-47, further comprising. (Item 49) Providing the recommended item to the user device In response to determining that the short media viewing profile is active, Select a short recommended item associated with a second short-form media content, and Providing the short recommended item to the user device The method according to any one of items 42-48, comprising. (Item 50) Providing the recommended item to the user device In response to determining that the long media viewing profile is active, Select a long recommended item associated with a second long-form media content, and Providing the long recommended item to the user device The method according to any one of items 42-49, comprising. (Item 51) The recommended item is an advertisement having metadata that matches at least one piece of recommended metadata of the activated viewing profile, and the method according to any one of items 42-50.
Brief Description of the Drawings
[0030] The above and other objects and advantages of the present disclosure will become apparent from a consideration of the following detailed description of the invention, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout.
[0031]
Figure 1
[0032]
Figure 2
[0033]
Figure 3
[0034]
Figure 4
[0035]
Figure 5
[0036]
Figure 6
[0037]
Figure 7
[0038]
Figure 8
[0039]
Figure 9
[0040]
Figure 10
[0041]
Figure 11
[0042]
Figure 12
[0043]
Figure 13
[0044]
Figure 14
[0045]
Figure 15
DETAILED DESCRIPTION OF THE INVENTION
[0046] Systems and methods are disclosed herein for an improved way of providing recommendations to a user. In particular, a media guide application may track a user's behavior while the user is viewing long or short media content. The media guide application may maintain separately two different user profiles, one regarding the user's preferences when viewing long media and one regarding the user's preferences when viewing short media. Once the profiles are established, the media guide application may use the two profiles to provide improved recommendations (e.g., content suggestions or advertisements) to the user. For example, the media guide application may make recommendations using the short media viewing profile while the user is viewing short videos, and may make recommendations using the long media viewing profile while the user is viewing long videos. As a result, such techniques improve the operation of the media guide application by enabling the media guide application to make recommendations relevant to the user's current behavior.
[0047] As referred to herein, the phrase "long media content" refers to any type of media content (e.g., video, audio, or multimedia content) that exceeds a length threshold (e.g., 15 minutes). For example, both a full-length movie that runs for 128 minutes or a 60-minute television show episode may be considered "long media content."
[0048] As referred to herein, the phrase "short media content" refers to any type of media content (e.g., video, audio, or multimedia content) that does not exceed a length threshold (e.g., 15 minutes). For example, both a 5-minute news clip or an 8-minute music video may be considered "short media content."
[0049] As referred to herein, the phrase "short media viewing profile" refers to any profile, data structure, or database that stores data indicative of a user's behavior or preferences during a period in which the user consumes short-form media content. In some embodiments, the short media viewing profile may store a plurality of recommended metadata corresponding to content that the user may prefer during such a period.
[0050] As referred to herein, the phrase "long media viewing profile" refers to any profile, data structure, or database that stores data indicative of a user's behavior or preferences during a period in which the user consumes long-form media content. In some embodiments, the long media viewing profile may store a plurality of recommended metadata corresponding to content that the user may prefer during such a period.
[0051] As referred to herein, the phrase "recommended item" refers to any media asset, text, multimedia, or data structure intended to provide a recommended message to a user. In some embodiments, the recommended item may be associated with the media content to be recommended, or the advertisement to be provided. In some embodiments, the recommended item may include metadata associated with the content to be recommended, or the advertisement to be provided.
[0052] The amount of content available to a user in any given content delivery system can be vast. As a result, many users desire a form of media guide through an interface that enables the user to efficiently navigate content selections and easily identify content that the user may desire. An application that provides such a guide is referred to herein as a two-way media guide application, although it may sometimes be referred to as a media guide application or a guide application.
[0053] Bidirectional media guide applications can take various forms depending on the content they provide guidance for. One typical type of media guide application is a bidirectional television program guide. A bidirectional television program guide (sometimes referred to as an electronic program guide) is a well-known guide application that enables a user, among other things, to navigate between and find many types of content or media assets. A bidirectional media guide application can generate a graphical user interface screen that enables a user to navigate between, find, and select content. As referred to herein, the terms “media asset” and “content” are to be understood to mean not only television programs, but also pay-per-view programs, on-demand programs (such as in a video-on-demand (VOD) system), Internet content (e.g., streaming content, downloadable content, webcasts, etc.), video clips, audio, content information, photos, rotating images, documents, playlists, websites, articles, books, e-books, blogs, chat sessions, social media, applications, games, and / or any other media or multimedia, and / or combinations thereof, etc., which are electronically consumable user assets. The guide application also enables a user to navigate between and find content. As referred to herein, the term “multimedia” is to be understood to mean content that utilizes at least two different content forms as described above, e.g., text, audio, images, video, or bidirectional content forms. Content can be recorded, played, displayed, or accessed by a user device, but can also be part of a live performance.
[0054] A media guide application and / or any instructions for implementing any of the embodiments discussed herein can be encoded on a computer-readable medium. A computer-readable medium includes any medium capable of storing data. A computer-readable medium can be transitory, including, but not limited to, the propagation of electrical or electromagnetic signals, or non-transitory, including, but not limited to, volatile and non-volatile computer memories or storage devices such as hard disks, floppy disks, USB drives, DVDs, CDs, media cards, register memories, processor caches, random access memory ("RAM"), etc.
[0055] With the advent of the Internet, mobile computing, and high-speed wireless networks, users are accessing media on user device devices that they did not previously use. As referred to herein, the phrases "user device device," "user device," "user device," "electronic device," "electronic device," "media device device," or "media device" refer to a television, smart TV, set-top box, integrated receiver decoder (IRD) for satellite TV, digital storage device, digital media receiver (DMR), digital media adapter (DMA), streaming media device, DVD player, DVD recorder, connected DVD, local media server, BLU-RAY (registered trademark) player, BLU-RAY (registered trademark) recorder, personal computer (PC), laptop computer, tablet computer, web TV box, personal computer television (PC / TV), PC media server, PC media center, handheld computer, landline phone, personal digital assistant (PDA), mobile phone, portable video player, portable music player, portable game console, smartphone, or any other television device, computing device, or wireless device, and / or any device for accessing content described thereon, such as a combination thereof. In some embodiments, the user device device may have a front screen and a back screen, a plurality of front screens, or a plurality of angled screens. In some embodiments, the user device device may have a front camera and / or a back camera. On these user device devices, the user may be able to navigate between and find the same content available through the television. As a result, a media guide may also be available on these devices. The guide provided may be for content available only through the television, content available only through one or more of the other types of user device devices, or content available through both the television and one or more of the other types of user device devices.The media guide application can be provided on a user device as an online application (i.e., provided on a website), or as a stand-alone application or client. The various devices and platforms on which the media guide application can be implemented are described in more detail below.
[0056] One of the functions of the media guide application is to provide media guide data to the user. As referred to herein, the phrase "media guide data" or "guide data" is to be understood to mean any data related to the content or data used in operating the guide application. For example, guide data can include program information, guide application settings, user preferences, user profile information, media list items, media-related information (e.g., broadcast time, broadcast channel, title, content, rating information (e.g., parental control rating, critic rating, etc.), genre or category information, actor information, logo data of the logo of the broadcasting company or provider, etc.), media format (e.g., standard resolution, high resolution, 3D, etc.), on-demand information, blogs, websites, and any other type of guide data that helps the user navigate between and find desired content selections.
[0057] FIG. 1 shows an exemplary media guide interface on a display screen that can provide recommendations to a user according to various embodiments of the present disclosure. Display 100 shows a media guide interface for video presentation, user interface presentation, and optional timeline presentation. In some embodiments, display 100 can display media content provided by the media guide application. For example, display 100 can display image 102. Image 102 can be part of the media content provided by the media guide application.
[0058] In some embodiments, display 100 may optionally include a timeline 110 that indicates media content provided to a user. In some embodiments, timeline 110 may include a period 112 during which long-form media content 104 (e.g., the full-length movie "Titanic") is provided by the media guide application. In some embodiments, timeline 110 may include a period 114 during which short-form media content 106 (e.g., the music video "Thriller") and short-form media content 108 (e.g., the music video "Beat It") are provided by the media guide application.
[0059] In some embodiments, the media guide application may maintain two different user profiles: a short media viewing profile and a long media viewing profile. In some embodiments, the short media viewing profile may be generated or updated during period 112 or during other periods in which other long-form media content is provided by the media guide application. In some embodiments, the short media viewing profile may be generated or updated during period 114 or during other periods in which other short-form media content is provided by the media guide application.
[0060] In some embodiments, a profile may be generated or updated based on monitored user behavior. For example, if a user requests certain content or data during (or immediately after) period 112, the media guide application may store metadata associated with the requested content or requested data in the long media viewing profile. Similarly, if a user requests certain content during (or immediately after) period 114, the media guide application may store metadata associated with the requested content or requested data in the short media viewing profile.
[0061] In some embodiments, if the user interacts with (e.g., clicks on) an advertisement during (or immediately after) period 112, the media guide application may store the metadata associated with that advertisement in the long media viewing profile. In some embodiments, if the user interacts with (e.g., clicks on) an advertisement during (or immediately after) period 114, the media guide application may store the metadata associated with that advertisement in the short media viewing profile.
[0062] In some embodiments, the media guide application may activate one of the profiles based on the media content currently being provided. For example, if long-form media content is being provided (e.g., during period 112), the media guide application may activate the long media viewing profile. In another example, if short-form media content is being provided (e.g., during period 114), the media guide application may activate the short media viewing profile.
[0063] In some embodiments, the media guide application may provide recommendations to the user based on the activated profile. For example, the media guide application may provide recommendations for display based on the long media viewing profile during period 112 and may provide recommendations for display based on the short media viewing profile during period 114.
[0064] In some embodiments, the media guide application may provide recommendations 116 for display. In some embodiments, the media guide application may be based on the content of the recommendations 116 based on which profile is active. In some embodiments, the media guide application may provide the recommendations 116 on the display 100. In some embodiments, the media guide application may generate recommendations for display on any other device such as the user's mobile device, the user's computer, or the user's audio device.
[0065] In some embodiments, the recommendation 116 may comprise text recommending another media content for consumption. For example, if a long media viewing profile is active, the recommendation 116 may include the text "Do you want to watch 'Titanic'?" or "Add 'Titanic' to the playlist?". In this example, the media guide application may have selected to recommend the movie "Titanic" (length: 195 minutes) because it is a feature film and the user is currently watching long-form media.
[0066] In some embodiments, if a short media viewing profile is active, the recommendation 116 may include the text "Do you want to watch the music video for 'Thriller'?" or "Add the music video for 'Thriller' to the playlist?". In this example, the media guide application may have selected to recommend the music video for "Thriller" (length: 14 minutes) because it is a short music video and the user is currently watching short-form media.
[0067] In some embodiments, recommendation 116 may be a filtered list of some content items, with the more highly recommended items listed nearer the top. For example, during period 112, recommendations regarding long-form media content may be shown nearer the top of the list, while during period 114, recommendations regarding short-form media content may be shown nearer the top of the list.
[0068] In some embodiments, recommendation 116 may be an advertisement for a product or service. In some embodiments, the media guide application may select the advertisement based on the profile that is active. In some embodiments, the media guide application may select the advertisement that is most likely to cause a positive interaction. For example, if the user positively reacted to a pizza advertisement when a short media profile was active (e.g., during period 114) but did not react when a long media profile was active (e.g., during period 112), the media guide application may provide the pizza advertisement only when the short media profile is active. For example, recommendation 116 may include the text "Call 180-555-PIZZA and mention code 'ABC' to get 30% off on pizza."
[0069] In some embodiments, the media guide application may provide recommendations 116 for display during or immediately after the presentation of current media content. For example, after or immediately after the presentation of current media content ends, the media guide application may display the recommendations 116 on the display 100. In some embodiments, the recommendations 116 include a list of proposed media content. The list may be generated and sorted according to the active viewing profile. For example, if a short media profile is active, the list may include only short media content or may be sorted to display short media before long media content. In some embodiments, if a long media profile is active, the list may include only long media content or may be sorted to display long media before long media content. In some embodiments, the media guide application may provide the next media content for display based on a user selection from the list.
[0070] In some embodiments, the media guide application may automatically play the next media content from the list without user input. In some embodiments, the media guide application may keep the list hidden from the user and may not display it to the user. Instead, the next media content may be provided to the user according to the list without requiring user input.
[0071] In some embodiments, the media guide application may also provide a recommended user interface (UI) 118 for display. In some embodiments, the recommended UI 118 may be part of the recommendation 116. For example, if the recommendation 116 includes a recommendation of media content, the recommended UI 118 may include interface options (e.g., buttons) that enable the user to either purchase the media content and begin immediately viewing it, or set a reminder to view the media content in the future.
[0072] In some embodiments, if the recommendation 116 includes an advertisement, the recommended UI 118 may include interface options (e.g., buttons) that enable the user to interact with the advertisement. For example, if the advertisement includes a URL, the recommended UI 118 may include a hyperlink that enables the user to request the website associated with the URL. In another example, if the advertisement includes a phone number, the recommended UI 118 may include a link to an application that can automatically dial the phone number.
[0073] FIG. 2-3 shows an illustrative display screen that can be used to provide media guide data. The display screen shown in FIG. 2-3 can be implemented on any suitable user device device or platform. The displays in FIG. 2-3 are illustrated as full screen displays, but they can also be fully or partially overlaid on the content being displayed. A user can indicate a desire to access content information by selecting selectable options (e.g., menu options, list item options, icons, hyperlinks, etc.) provided on the display screen, or by pressing a dedicated button (e.g., a "guide" button) on a remote control or other user input interface or device. In response to the user's instructions, the media guide application can provide media guide data organized in one of several ways, such as by time and channel in a grid, by time, by channel, by source, by content type, by category (e.g., movies, sports, news, children's, or other program categories), or by other predetermined, user-defined, or other sorting criteria, to the display screen.
[0074] FIG. 2 shows an exemplary grid of program list item displays 200 arranged by time and channel that also enables access to different types of content within a single display. The display 200 may include: (1) a column of channel / content type identifiers 204 that identify different channels or types of content for which each channel / content type identifier (cell within the column) is available, and (2) a grid 202 with rows of time identifiers 206 where each time identifier (cell within the row) identifies a time slot of a program. The grid 202 also includes cells for program list items such as program list item 208, and each list item provides a title of a program offered over the relevant channel and time of the list item. Using a user input device, a user can select a program list item by moving the highlight region 210. Information regarding the program list item selected by the highlight region 210 may be provided within a program information region 212. The region 212 may include, for example, a program title, program content, time when the program is offered (if applicable), channel over which the program is broadcast (if applicable), an evaluation of the program, and other desired information.
[0075] In addition to providing access to linear programs (e.g., content that is scheduled to be transmitted to a plurality of user device devices at a given time and provided according to the schedule), the media guide application also provides access to non-linear programs (e.g., content that is accessible to a user device device at any time and not provided according to a schedule). Non-linear programs may include content from different content sources including on-demand content (e.g., VOD), Internet content (e.g., streaming media, downloadable media, etc.), locally stored content (e.g., content stored on any of the user device devices or other storage devices described above), or other content without time constraints. On-demand content may include movies or content from a particular content provider (e.g., HBO On that offers "The Sopranos" and "Curb Your Enthusiasm") It may include movies or any other content provided on demand. HBO ON DEMAND is a service mark owned by Time Warner Company L. P. et al., and THE SOPRANOS and CURB YOUR ENTHUSIASM are trademarks owned by Home Box Office, Inc. Internet content may include content available on demand as streaming content or downloadable content through web events such as chat sessions or webcasts, or through Internet websites or other Internet access (e.g., FTP).
[0076] Grid 202 may provide media guide data for non-linear programming, including on-demand list items 214, recorded content list items 216, and Internet content list items 218. A display that combines media guide data for content from different types of content sources is sometimes referred to as a "mixed media" display. Various permutations of types of media guide data that may be displayed differently from display 200 may be based on user selection or guide application definition (e.g., a display of only recorded and broadcast list items, a display of only on-demand and broadcast list items, etc.). As illustrated, list items 214, 216, and 218 are shown as spanning the entire time period displayed within grid 202, indicating that selection of these list items may provide access to displays dedicated to on-demand list items, recorded list items, or Internet list items, respectively. In some embodiments, list items for these content types may be directly included in grid 202. In response to the user selecting one of the navigation icons 220, additional media guide data may be displayed (pressing an arrow key on the user input device may affect the display in the same manner as selecting a navigation icon 220).
[0077] The representation 200 may also include a video region 222 and an options region 226. The video region 222 may enable a user to view and / or preview programs that are currently available to the user, programs that will be available in the future, or programs that were available. The content of the video region 222 may correspond to, or be independent of, one of the list items displayed in the grid 202. The grid display including the video region is sometimes referred to as a Picture-in-Guide (PIG) display. PIG displays and their functionality are described in more detail in U.S. Patent No. 6,564,378 to Satterfield et al., issued May 13, 2003, and U.S. Patent No. 6,239,794 to Yuen et al., issued May 29, 2001 (incorporated herein by reference in their entirety). PIG displays may be included in other media guide application display screens of the embodiments described herein.
[0078] The option area 226 may enable a user to access different types of content, media guide application displays, and / or media guide application features. The option area 226 may be part of the display 200 (and other display screens described herein), or may be invoked by the user by selecting an option on the screen or pressing a dedicated or assignable button on the user input device. The selectable options within the option area 226 may relate to features associated with the program list items within the grid 202, or may include options available from the main menu display. Features associated with program list items may include searching for other broadcast times or ways to receive a program, recording a program, enabling continuous recording of a program, setting a program and / or channel as a favorite, purchasing a program, or other features. Options available from the main menu display may include search options, VOD options, parental control options, Internet options, cloud-based options, device synchronization options, second screen device options, options to access various types of media guide data displays, options to subscribe to premium services, options to edit the user's profile, options to access browser overlays, or other options.
[0079] The media guide application can be personalized based on user preferences. The personalized media guide application enables the user to customize the display and features so that the user can generate a "personalized experience" using the media guide application. This personalized experience can be generated by enabling the user to input these customizations and / or by the media guide application monitoring user activity to determine various user preferences. The user can access those personalized guide applications by logging in or otherwise identifying themselves to the guide application. The customization of the media guide application can be created according to a user profile. The customization may include changing the presentation method (e.g., display color scheme, text font size, etc.), aspects of the content list items to be displayed (e.g., only HDTV programs or only 3D programs, user-specified broadcast channels based on favorite channel selection, rearrangement of channel display, recommended content, etc.), desired recording features (e.g., recording or continuous recording for a specific user, recording quality, etc.), parental control settings, customized presentation of Internet content (e.g., presentation of social media content, email, electronically distributed articles, etc.), and other desired customizations.
[0080] A media guide application may enable a user to provide user profile information or may automatically compile user profile information. The media guide application may monitor, for example, content accessed by the user and / or other interactions the user may have with the guide application. Additionally, the media guide application may obtain all or a portion of other user profiles related to a particular user (e.g., from other websites on the Internet that the user accesses such as www.Tivo.com, from other media guide applications the user accesses, from other two-way applications the user accesses, from another user device of the user, etc.) and / or obtain information about the user from other sources that the media guide application may access. As a result, the user may be provided with a unified guide application experience across different user devices of the user. This type of user experience is described in more detail below in connection with FIG. 5. Additional personalized media guide application features are described in more detail in U.S. Patent Application Publication No. 2005 / 0251827 to Ellis et al., filed Jul. 11, 2005, U.S. Patent No. 7,165,098 to Boyer et al., issued Jan. 16, 2007, and U.S. Patent Application Publication No. 2002 / 0174430 to Ellis et al., filed Feb. 21, 2002 (which are hereby incorporated herein by reference in their entirety).
[0081] Another display arrangement for providing a media guide is shown in FIG. 3. The video mosaic display 300 includes selectable options 302 for content information organized based on content type, genre, and / or other organizing criteria. In display 300, a television listing item option 304 is selected, and thus, listing items 306, 308, 310, and 312 are provided as broadcast program listing items. In display 300, the listing items can provide graphic images that include cover art, a still image from the content, a preview of a video clip, live video from the content, or other types of content that show the user the content described by the media guide data in the listing item. Each of the graphic listing items can also be accompanied by text to provide further information about the content associated with the listing item. For example, listing item 308 can include two or more portions including a media portion 314 and a text portion 316. The media portion 314 and / or the text portion 316 can be selectable to view the content in full screen or to view information related to the content displayed in the media portion 314 (e.g., to view a listing item of the channel on which the video is being displayed).
[0082] The listing items within display 300 are of different sizes (i.e., listing item 306 is larger than listing items 308, 310, and 312), but all the listing items can be the same size if desired. The listing items can be of different sizes or graphically emphasized to indicate the degree of user interest or to emphasize a particular piece of content, depending on the desires of the content provider or based on user preferences. Various systems and methods for graphically emphasizing content listing items are discussed, for example, in U.S. Patent Application Publication No. 2010 / 0153885 to Yates, filed Nov. 12, 2009, which is incorporated herein by reference in its entirety.
[0083] The user can access content and the media guide application (and its display screen described above and below) from one or more of those user device devices. FIG. 4 shows a general embodiment of an exemplary user device device 400. A more specific implementation of the user device device is discussed below in connection with FIG. 5. The user device device 400 can receive content and data via an input / output (hereinafter “I / O”) path 402. The I / O path 402 can provide content (e.g., broadcast programs, on-demand programs, Internet content, content available via a local area network (LAN) or wide area network (WAN), and / or other content) and data to a control circuit 404 including a processing circuit 406 and a storage device 408. The control circuit 404 can use the I / O path 402 to send and receive commands, requests, and other suitable data. The I / O path 402 can connect the control circuit 404 (specifically, the processing circuit 406) to one or more communication paths (described below). The I / O functions can be provided by one or more of these communication paths, but are shown as a single path in FIG. 4 to avoid making the drawing too complex.
[0084] The control circuit 404 can be based on any suitable processing circuit such as the processing circuit 406. As referred to herein, a processing circuit is understood to mean a circuit based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc., and can include a multi-core processor (e.g., dual-core, quad-core, hexa-core, or any suitable number of cores) or a supercomputer. In some embodiments, the processing circuit can be distributed across a plurality of distinct processors or processing units, e.g., a plurality of the same type of processing units (e.g., two Intel Core i7 processors) or a plurality of different processors (e.g., an Intel Core i5 processor and an Intel Core i7 processor). In some embodiments, the control circuit 404 executes instructions for a media guide application stored in a memory (i.e., the storage device 408). Specifically, the control circuit 404 can be instructed by the media guide application to perform the functions discussed above and below. For example, the media guide application can provide instructions to the control circuit 404 to generate a media guide display. In some implementations, any action performed by the control circuit 404 can be based on instructions received from the media guide application.
[0085] In a client-server based embodiment, control circuit 404 may include a suitable communication circuit for communicating with a guide application server or other network or server. Instructions for implementing the functionality described above may be stored on the guide application server. The communication circuit may include a cable modem, an integrated services digital network (ISDN) modem, a digital subscriber line (DSL) modem, a telephone modem, an Ethernet® card, or a wireless modem for communication with other devices, or any other suitable communication circuit. Such communication may involve the Internet or any other suitable communication network or path (described in more detail in connection with FIG. 5). Additionally, the communication circuit may include a circuit that enables peer-to-peer communication of user equipment devices, or communication of user equipment devices located remotely from each other (described in more detail below).
[0086] The memory can be an electronic memory device provided as a storage device 408 that is part of the control circuit 404. As referred to herein, the phrase "electronic memory device" or "memory device" refers to random access memory, read-only memory, hard drives, optical drives, digital video disc (DVD) recorders, compact disc (CD) recorders, BLU-RAY (registered trademark) disc (BD) recorders, BLU-RAY (registered trademark) 3D disc recorders, digital video recorders (DVRs, or sometimes called personal video recorders or PVRs), solid state devices, quantum memory devices, game consoles, game media, or any other suitable fixed or removable memory device, and / or any combination thereof, and any device for storing electronic data, computer software, or firmware. The storage device 408 can be used to store the various types of content described herein and the media guide data described above. Non-volatile memory can also be used (e.g., to boot up the routine and other instructions). A cloud-based storage device, described in connection with FIG. 5, can be used to complement the storage device 408 or can be used in place of the storage device 408.
[0087] The control circuit 404 may include a video generation circuit and a tuning circuit such as one or more analog tuners, one or more MPEG-2 decoders, or other digital decoding circuits, high-definition tuners, or any other suitable tuning or video circuits, or combinations of such circuits. An encoding circuit (for example, for converting a radio, analog, or digital signal into an MPEG signal for storage) may also be provided. The control circuit 404 may also include a scaling circuit for up-converting and down-converting content to a preferred output format of the user device 400. The circuit 404 may also include a digital / analog conversion circuit and an analog / digital conversion circuit for converting between digital and analog signals. The tuning and encoding circuits may be used by the user device to receive and display content, to play it, or to record it. The tuning and encoding circuits may also be used to receive guide data. For example, the circuits described herein, including tuning, video generation, encoding, decoding, encryption, decryption, scaling, and analog / digital circuits, may be implemented using software that runs on one or more general-purpose or special processors. Multiple tuners may be provided to handle simultaneous tuning functions (for example, viewing and recording functions, picture-in-picture (PIP) functions, multi-tuner recording functions, etc.). If the storage device 408 is provided as a device separate from the user device 400, the tuning and encoding circuits (including multiple tuners) may be associated with the storage device 408.
[0088] The user can send commands to the control circuit 404 using the user input interface 410. The user input interface 410 can be any suitable user interface such as a remote control, mouse, trackball, keypad, keyboard, touch screen, touch pad, stylus input, joystick, voice recognition interface, or other user input interface. The display 412 can be provided as a stand-alone device or integrated with other elements of the user equipment device 400. For example, the display 412 can be a touch screen or a touch sensor type display. In such a situation, the user input interface 410 can be integrated or combined with the display 412. The display 412 can be a monitor, television, liquid crystal display (LCD) for mobile devices, amorphous silicon display, low temperature polysilicon display, electronic ink display, electrophoretic display, active matrix display, electro-wetting display, electro-fluid display, cathode ray tube display, light emitting diode display, electroluminescent display, plasma display panel, high performance addressing display, thin film transistor display, organic light emitting diode display, surface conduction electron emission device display (SED), laser television, carbon nanotube, quantum dot display, interference modulator display, or any one or more of any other suitable device for displaying visual images. In some embodiments, the display 412 can be HDTV compliant. In some embodiments, the display 412 can be a 3D display, and the two-way media guide application and any suitable content can be displayed in 3D. A video card or graphics card can generate an output to the display 412. The video card can provide various functions such as rendering acceleration of 3D scenes and 2D graphics, MPEG-2 / MPEG-4 decoding, TV output, or the ability to connect multiple monitors. The video card can be any processing circuit described in connection with the control circuit 404.The video card can be integrated with the control circuit 404. The speaker 414 can be provided as integrated with other elements of the user equipment device 400 or can be a stand-alone unit. The audio components of the video and other content displayed on the display 412 can be played back through the speaker 414. In some embodiments, the audio can be distributed to a receiver (not shown) that processes and outputs the audio via the speaker 414.
[0089] The guidance application can be implemented using any suitable architecture. For example, it can be a stand-alone application implemented entirely on the user equipment device 400. In such an approach, the instructions of the application are stored locally (e.g., in the storage device 408), and the data used by the application is periodically downloaded (e.g., from an out-of-band feed, from an Internet resource, or using another suitable approach). The control circuit 404 can read the instructions of the application from the storage device 408 and process the instructions for generating any of the displays discussed herein. Based on the processed instructions, the control circuit 404 can determine the actions to perform when an input is received from the input interface 410. For example, the up / down movement of the cursor on the display can be indicated by the processed instructions when the input interface 410 indicates that the up / down button has been selected.
[0090] In some embodiments, the media guide application is a client-server based application. Data for use by a thin or sink client implemented on user equipment device 400 is read on demand by issuing a request to a server remote from the user equipment device 400. In one example of a client-server based guide application, control circuit 404 launches a web browser that interprets a web page provided by the remote server. For example, the remote server may store instructions for the application within a memory device. The remote server may use a circuit (e.g., control circuit 404) to process the stored instructions and generate the displays discussed above and below. The client device may receive the display generated by the remote server and may locally display the content of the display on the device device 400. Thus, while the processing of the instructions is performed remotely by the server, the resulting display is provided locally on the device device 400. The device device 400 may receive input from the user via input interface 410 and may transmit those inputs to the remote server to process and generate a corresponding display. For example, the device device 400 may transmit a communication indicating that the up / down button has been selected via the input interface 410 to the remote server. The remote server may process the instructions according to the input and generate a display of the application corresponding to the input (e.g., a display that moves the cursor up / down). The generated display is then transmitted to the device device 400 for presentation to the user.
[0091] In some embodiments, the media guide application is downloaded, interpreted, or otherwise launched by an interpreter or virtual machine (launched by control circuit 404). In some embodiments, the guide application is encoded in an ETV Binary Interchange Format (EBIF), received by control circuit 404 as part of a suitable feed, and can be interpreted by a user agent that launches on control circuit 404. For example, the guide application can be an EBIF application. In some embodiments, the guide application can be defined by a series of JAVA (registered trademark)-based files that are received and launched by a local virtual machine or other suitable middleware executed by control circuit 404. In some of such embodiments (e.g., those employing MPEG-2 or other digital media encoding schemes), the guide app lication can be encoded and transmitted, for example, in an MPEG-2 object carousel using the MPEG audio and video packets of a program.
[0092] The user equipment device 400 of FIG. 4 can be implemented in the system 500 of FIG. 5 as a user television device 502, a user computer device 504, a wireless user communication device 506, or any other type of user equipment suitable for accessing content such as a non-portable game machine. For simplicity, these devices can be collectively referred to herein as user equipment or user equipment devices and can be substantially similar to the user equipment devices described above. The user equipment device on which the media guide application can be implemented can function as a stand-alone device or can be part of a network of devices. Various network configurations of the devices can be implemented and are discussed in more detail below.
[0093] User equipment devices that utilize at least some of the system features described above in connection with FIG. 4 may not simply be classified as a user television device 502, a user computer device 504, or a wireless user communication device 506. For example, the user television device 502 may be Internet-enabled to allow access to Internet content, like some user computer devices 504, while the user computer device 504 may include a tuner to allow access to television programs, like a certain television device 502. The media guide application may have the same layout on various different types of user equipment, or may be tailored to the display capabilities of the user equipment. For example, on the user computer device 504, the guide application may be provided as a website accessed by a web browser. In another example, the guide application may be scaled down for the wireless user communication device 506.
[0094] In system 500, typically, there are two or more of each type of user equipment device, but only one of each is shown in FIG. 5 to avoid overcomplicating the drawing. Additionally, each user may utilize two or more types of user equipment devices, and may also utilize two or more of each type of user equipment device.
[0095] In some embodiments, user device devices (e.g., user television device 502, user computer device 504, wireless user communication device 506) may be referred to as "second screen devices." For example, the second screen device may complement the content presented on the first user device device. The content presented on the second screen device can be any suitable content that complements the content presented on the first device. In some embodiments, the second screen device provides an interface for adjusting the settings and display preferences of the first device. In some embodiments, the second screen device is configured to interact with other second screen devices or to interact with a social network. The second screen device can be located in the same room as the first device, in a different room but the same house or building as the first device, or in a different building from the first device.
[0096] The user can also set various settings so as to maintain consistent media guide application settings across in-home devices and remote devices. The settings include not only those described herein, but also favorite channels and programs, program preferences used by the guide application to recommend programs, display preferences, and other desired guide settings. For example, if the user sets a channel as a favorite on their personal computer in their office, e.g., on the website www.Tivo.com, the same channel will be displayed as a favorite on the user's in-home devices (e.g., user television device and user computer device) and, optionally, on the user's mobile device. Thus, regardless of whether they are the same or different types of user device devices, changes made on one user device device can change the guide experience on another user device device. Additionally, the changes made can be based not only on settings input by the user, but also on user activity monitored by the guide application.
[0097] The user equipment device can be coupled to the communication network 514. That is, the user television device 502, the user computer device 504, and the wireless user communication device 506 are each coupled to the communication network 514 via communication paths 508, 510, and 512. The communication network 514 can be one or more networks including the Internet, a cellular phone network, a mobile voice or data network (e.g., a 4G or LTE network), a cable network, a public switched telephone network, or other types of communication networks, or a combination of communication networks. The paths 508, 510, and 512 can include one or more communication paths such as a satellite path, an optical fiber path, a cable path, a path supporting Internet communication (e.g., IPTV), a free space connection (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communication path, or a combination of such paths. Path 512 is drawn as a dashed line in the exemplary embodiment shown in FIG. 5 to indicate that it is a wireless path, and paths 508 and 510 are drawn as solid lines to indicate that they are wired paths (however, these paths can be wireless paths if desired). Communication with the user equipment device can be provided by one or more of these communication paths, but in FIG. 5, it is shown as a single path to avoid making the drawing too complex.
[0098] Communication paths are not drawn between the user equipment devices, but these devices can communicate directly with each other via other short-distance point-to-point communication paths such as a USB cable, an IEEE 1394 cable, a wireless path (e.g., Bluetooth (R), infrared, IEEE 802-11x, etc.), or other short-distance communication via a wired or wireless path, in addition to those described above in relation to paths 508, 510, and 512. BLUETOOTH (R) is Bluetooth (R) It is an authentication mark owned by SIG, INC. User equipment devices can communicate directly with each other through an indirect path via communication network 514.
[0099] System 500 includes a content source 516 and a media guide data source 518 respectively coupled to communication network 514 via communication paths 520 and 522. Paths 520 and 522 can include any of the communication paths described above in connection with paths 508, 510, and 512. Communication with content source 516 and media guide data source 518 can occur via one or more communication paths, but in FIG. 5, for the sake of avoiding the drawing becoming too complex, it is shown as a single path. Additionally, there may be two or more of each of content source 516 and media guide data source 518, but in FIG. 5, only one is shown for each in order to avoid the drawing becoming too complex. (Each of these different types of sources is discussed below). Optionally, content source 516 and media guide data source 518 can be integrated as one source device. Communication between sources 516 and 518 and user equipment devices 502, 504, and 506 is shown as being through communication network 514, but in some embodiments, sources 516 and 518 can communicate directly with user equipment devices 502, 504, and 506 via those such communication paths (not shown) described above in connection with paths 508, 510, and 512.
[0100] System 500 may also include an advertising source 524 coupled to communication network 514 via communication path 526. Path 526 may include any of the communication paths described above in connection with paths 508, 510, and 512. Advertising source 524 may include advertising logic for determining the advertisements and their context to transmit to a particular user. For example, a cable operator may have the right to insert an advertisement during a particular time slot on a particular channel. Thus, advertising source 524 may transmit an advertisement to a user during these time slots. As another example, the advertising source may target an advertisement based on the demographics of a user known to be watching a particular program (e.g., a teenager in his or her teens watching a reality program). As yet another example, the advertising source may provide different advertisements depending on the location of the user device viewing the media asset (e.g., the east coast or the west coast).
[0101] In some embodiments, advertising source 524 may be configured to maintain user information including an advertising suitability score associated with a user to provide targeted advertisements. Additionally, or alternatively, a server associated with advertising source 524 may be configured to store raw information that may be used to derive an advertising suitability score. In some embodiments, advertising source 524 may transmit a request regarding the raw information to another device and calculate an advertising suitability score. Advertising source 524 may update an advertising suitability score for a particular user (e.g., a first subset, a second subset, or a third subset of users) and transmit an advertisement for a targeted product to an appropriate user.
[0102] The content source 516 may include one or more types of content delivery equipment including a television distribution facility, a cable system headend, a satellite distribution facility, a program source (e.g., a television broadcasting company such as NBC, ABC, HBO, etc.), an intermediate distribution facility and / or server, an Internet provider, an on-demand media server, and other content providers. NBC is a trademark owned by National Broadcasting Company, Inc., ABC is a trademark owned by American Broadcasting Company, INC., and HBO is a trademark owned by Home Box Office, Inc. The content source 516 may or may not be the originator of the content (e.g., a television broadcasting company, a webcast provider, etc.), or may not be the originator of the content (e.g., an on-demand content provider, an Internet provider of content for downloaded broadcast programs, etc.). The content source 516 may include a cable source, a satellite provider, an on-demand provider, an Internet provider, an over-the-top content provider, or other content providers. The content source 516 may also include a remote media server used to store different types of content (including video content selected by the user) at a location remote from any of the user equipment devices. Systems and methods for remote storage of content and for providing remotely stored content to user equipment are discussed in more detail in relation to U.S. Patent No. 7,761,892 to Ellis et al., issued July 20, 2010, which is incorporated herein by reference in its entirety.
[0103] The media guide data source 518 may provide media guide data such as the media guide data described above. The media guide data may be provided to the user equipment device using any suitable approach. In some embodiments, the guide application may be a stand-alone two-way television program guide that receives program guide data via a data feed (e.g., a continuous feed or a trickle feed). Program schedule data and other guide data may be provided to the user equipment using in-band digital signals, out-of-band digital signals, or any other suitable data transmission technology on the sideband of the television channel. Program schedule data and other media guide data may be provided to the user equipment on multiple analog or digital television channels.
[0104] In some embodiments, the guide data from the media guide data source 518 may be provided to the user's equipment using a client-server approach. For example, the user equipment device may pull the media guide data from the server, or the server may push the media guide data to the user equipment device. In some embodiments, a guide application client resident on the user's equipment may initiate a session with the source 518 and obtain guide data as needed, e.g., when the guide data is stale or when the user equipment device receives a request from the user to receive data. The media guide may be provided to the user equipment at any suitable frequency (e.g., continuously, daily, at a user-specified interval, at a system-specified interval, in response to a request from the user equipment, etc.). The media guide data source 518 may provide the media guide application itself, or a software update for the media guide application, to the user equipment devices 502, 504, and 506.
[0105] In some embodiments, the media guide data may include viewer data. For example, the viewer data may include current and / or historical user activity information (e.g., the content that the user typically watches, the time when the user watches the content, whether the user interacts with a social network, the time when the user interacts with the social network and posts information, the type of content that the user typically watches (e.g., paid TV or free TV), mood, brain activity information, etc.). The media guide data may also include subscription data. For example, the subscription data may identify the sources or services that a given user subscribes to and / or the sources or services that a given user has subscribed to in the past but later discontinued access (e.g., whether the user subscribes to a premium channel, whether the user has added a premium level service, whether the user has accelerated the Internet speed). In some embodiments, the viewer data and / or the subscription data may identify the patterns of a given user over a period of more than one year. The media guide data may include a model (e.g., a survival model) used to generate a score indicating the likelihood that a given user will discontinue access to a service / source. For example, the media guide application may process the viewer data together with the subscription data using a model for generating a value or score indicating the likelihood that a given user will discontinue access to a particular service or source. In particular, a higher score may indicate a higher level of confidence that the user will discontinue access to a particular service or source. Based on the score, the media guide application may generate a promotion that encourages the user to maintain a particular service or source indicated by the score as being likely to be discontinued by the user.
[0106] The media guide application can be, for example, a stand-alone application implemented on a user equipment device. For example, the media guide application can be implemented as software or a set of executable instructions stored in the storage device 408 and executed by the control circuit 404 of the user equipment device 400. In some embodiments, the media guide application can be a client-server application, in which case only the client application resides on the user equipment device and the server application resides on a remote server. For example, the media guide application can be implemented partially as a client application on the control circuit 404 of the user equipment device 400 and partially on a remote server as a server application (e.g., media guide data source 518) that is launched on the control circuit of the remote server. When executed by the control circuit of the remote server (such as the media guide data source 518), the media guide application can instruct the control circuit to generate a guide application display and transmit the generated display to the user equipment device. The server application can instruct the control circuit of the media guide data source 518 to transmit data for storage on the user equipment. The client application can instruct the control circuit of the receiving user equipment to generate a guide application display.
[0107] The content and / or media guide data distributed to user equipment devices 502, 504, and 506 can be over-the-top (OTT) content. OTT content delivery enables Internet-enabled user devices, including any of the user equipment devices described above, to receive content transferred via the Internet, including any of the content described above, in addition to content received via a cable or satellite connection. OTT content is distributed via an Internet connection provided by an Internet service provider (ISP), although third parties also distribute the content. The ISP may not be responsible for the viewing ability, copyright, or redistribution of the content and may only forward the IP packets provided by the OTT content provider. Examples of OTT content providers include YOUTUBE (registered trademark), NETFLIX, and HULU, which provide audio and video via IP packets. YOUTUBE (registered trademark) is a trademark owned by Google Inc., Netflix is a trademark owned by Netflix, Inc., and Hulu is a trademark owned by Hulu, LLC. The OTT content provider may, in addition to or as an alternative, provide the media guide data described above. In addition to the content and / or media guide data, the provider of the OTT content may distribute a media guide application (e.g., a web-based application or a cloud-based application), or the content may be displayed by a media guide application stored on the user equipment device.
[0108] Media guide system 500 is intended to illustrate several approaches or network configurations, whereby the user equipment devices and the sources of content and guide data can communicate with each other for the purpose of accessing content and providing a media guide. The embodiments described herein can be applied in any one or part of these approaches, or in a system that employs other approaches for delivering content and providing a media guide. The following four approaches provide specific illustrations of the general example of FIG. 5.
[0109] In one approach, user equipment devices can communicate with each other within a home network. User equipment devices can communicate directly with each other via an indirect path through a hub or other similar device provided on the home network, or via communication network 514, via the short-range point-to-point communication method described above. Each of a plurality of individuals within one home can operate different user equipment devices on the home network. As a result, it may be desirable for various media guide information or settings to be communicated between different user equipment devices. For example, as described in more detail in U.S. Patent Publication No. 2005 / 0251827 to Ellis et al., filed on July 11, 2005, it may be desirable for a user to maintain consistent media guide application settings on different user equipment devices within a home network. Different types of user equipment devices within a home network can also communicate with each other and transmit content. For example, a user can transmit content from a user computer device to a portable video player or a portable music player.
[0110] In a second approach, a user may have multiple types of user equipment, thereby accessing content and obtaining a media guide. For example, some users may have a home network accessed by in-home and mobile devices. A user may control in-home devices via a media guide application implemented on a remote device. For example, a user may access an online media guide application on a website via the user's office personal computer, or a mobile device such as a PDA or web-enabled mobile phone. A user may set various settings (e.g., recording, reminder, or other settings) on the online guide application to control the user's in-home equipment. The online guide may control the user's equipment either directly or by communicating with a media guide application on the user's in-home equipment. Various systems and methods for communication of user equipment devices that are in remote locations from each other are discussed, for example, in U.S. Patent No. 8,046,801, issued October 25, 2011 to Ellis et al., which is incorporated herein by reference in its entirety.
[0111] In a third approach, a user of user equipment devices inside and outside the home can communicate directly with a content source 516 and use the media guide application to access content. Specifically, inside the home, a user of a user television device 502 and a user computer device 504 can access the media guide application, navigate between desired content, and find it. A user may also use a wireless user communication device 506 to access a media guide application outside the home, navigate between desired content, and find it.
[0112] In a fourth approach, the user equipment device operates within a cloud computing environment and can access cloud services. In a cloud computing environment, various types of computing services for content sharing, storage, or distribution (e.g., video sharing sites or social networking sites) are provided by a collection of network-accessible computing and storage resources referred to as the "cloud". For example, the cloud can include a collection of server computing devices that can be located centrally or in a distributed location and that provide cloud-based services to various types of users and devices connected via a network such as the Internet via communication network 514. These cloud resources can include one or more content sources 516 and one or more media guide data sources 518. Additionally, or alternatively, the remote computing site can include other user equipment devices such as user television device 502, user computer device 504, and wireless user communication device 506. For example, the other user equipment devices can provide access to a stored copy of a video or a streamed video. In such embodiments, the user equipment device can operate in a peer-to-peer-like fashion without communicating with a central server.
[0113] The cloud provides access to any content as described above, as well as to services such as content storage, content sharing, or social networking services, among other examples, for user equipment devices. The services can be provided within the cloud through a cloud computing service provider or through other providers of online services. For example, cloud-based services can include content storage services, content sharing sites, social networking sites, or other services, through which user-supplied content is distributed for viewing by others on connected devices. These cloud-based services can enable user equipment devices to store content in the cloud and receive content from the cloud, rather than storing content locally and accessing locally stored content.
[0114] The user can record content using various content capture devices such as camcorders, digital cameras with video mode, audio recorders, mobile phones, and handheld computing devices. The user can upload the content to a content storage service on the cloud either directly, for example, from a user computer device 504 or from a wireless user communication device 506 having content capture features. Alternatively, the user can first transfer the content to a user equipment device such as the user computer device 504. The user equipment device storing the content uploads the content to the cloud using a data transmission service on the communication network 514. In some embodiments, the user equipment device itself is a cloud resource and other user equipment devices can access the content directly from the user equipment device where the user stored the content.
[0115] Cloud resources can be accessed by a user device using, for example, a web browser, a media guide application, a desktop application, a mobile application, and / or any combination of their access applications. The user device can be a cloud client that relies on cloud computing for application delivery, or the user device can have some functionality without accessing cloud resources. For example, some applications launched on the user device can be cloud applications, i.e., applications delivered as services via the Internet, while other applications can be stored and launched on the user device. In some embodiments, the user device can receive content from multiple cloud resources simultaneously. For example, the user device can stream audio from one cloud resource while downloading content from a second cloud resource. Or, the user device can download content from multiple cloud resources for more efficient downloading. In some embodiments, the user device can use cloud resources for processing operations such as those implemented by the processing circuit described in connection with FIG. 4.
[0116] As referred to herein, the term "in response to" refers to "initiated as a result of". For example, a first action being performed in response to a second action can include intervening steps between the first action and the second action. As referred to herein, the term "in direct response to" refers to "caused by". For example, a first action being performed in direct response to a second action may or may not include intervening steps between the first action and the second action.
[0117] FIG. 6 depicts an illustrative flow diagram of a process 600 for providing recommendations to a user according to an embodiment of the present disclosure. Process 600 may be performed by a control circuit 404 (e.g., in a manner commanded to the control circuit 404 by a media guide application). The control circuit 404 may be part of a user device (e.g., a user television device 502, a user computer device 504, and / or a wireless communication device 506), or a remote server remote from the user device via a communication network 514. In some embodiments, any of steps 602-608 of FIG. 6 may optionally be omitted. In some embodiments, any of steps 602-608 of FIG. 6 may be performed in any order or simultaneously.
[0118] Process 600 begins at 602, where the control circuit 404 maintains a short media viewing profile for the user. In some embodiments, the control circuit 404 may store the short media viewing profile in a storage device 408. In some embodiments, the short media viewing profile may be stored in a media guide data source 518.
[0119] For example, control circuit 404 may track a user's behavior during a period in which the user is consuming short media content (e.g., period 114). In some embodiments, control circuit 404 may then record the user's interactions in a short media viewing profile. For example, if the user requests other media content during these periods, control circuit 404 may record the metadata associated with the other media content in the short media viewing profile. The other media content may be requested by the user via any other user device such as user television device 502 or user computer device 504. In another example, if the user interacts with an advertisement during these periods, control circuit 404 may record the metadata associated with the advertisement in the short media viewing profile. The advertisement may be presented on user television device 502, on display 100, or on any device of user computer device 504. The user may interact with the advertisement via user interface input 410, via recommended UI 118, or via an input on any device of user computer device 504.
[0120] Process 600 continues at 604, where control circuit 404 maintains a long media viewing profile for the user. Steps 602 and 604 may be performed in any order or in parallel with each other. In some embodiments, control circuit 404 may store the long media viewing profile in storage device 408. In some embodiments, the long media viewing profile may be stored in media guide data source 518.
[0121] For example, control circuit 404 may track the user's behavior during a period in which the user is consuming long-form media content (e.g., period 112). In some embodiments, control circuit 404 may then record the user's interactions in a long media viewing profile. For example, if the user requests other media content during these periods, control circuit 404 may record the metadata associated with the other media content in the long media viewing profile. The other media content may be requested by the user via any other user device such as user television device 502 or user computer device 504. In another example, if the user interacts with an advertisement during these periods, control circuit 404 may record the metadata associated with the advertisement in the long media viewing profile. The advertisement may be presented on user television device 502, on display 100, or on any device of user computer device 504. The user may interact with the advertisement via user interface input 410, via recommendation UI 118, or via an input on any device of user computer device 504.
[0122] Process 600 continues at 606, and control circuit 404 provides recommendations (e.g., recommendation 116) to the user based on the short media viewing profile. In some embodiments, control circuit 404 may provide such recommendations in response to determining that the user is currently engaged in viewing short-form media content. For example, if control circuit 404 determines that the user is currently (e.g., during period 114) engaged in viewing short-form media content, control circuit 404 may use the short media viewing profile to provide recommendations for display.
[0123] In some embodiments, the control circuit 404 may select a recommendation having metadata that matches the recommended metadata stored in the short media viewing profile. For example, if the short media viewing profile includes the stored metadata keyword "pizza", the control circuit 404 may select a recommendation (e.g., an advertisement for Domino’s Pizza) having metadata that matches the stored metadata (e.g., the metadata keyword "pizza"). The control circuit 404 may then provide the selected recommendation for display. In one example, the control circuit 404 may provide an advertisement for Domino’s Pizza on the display 100, on the user television device 502, or on the user computer device 504.
[0124] The process 600 continues at 608, and the control circuit 404 provides a recommendation (e.g., recommendation 116) to the user based on the long media viewing profile. In some embodiments, steps 606 and 608 may be performed in any order. In some embodiments, the control circuit 404 may provide such a recommendation in response to determining that the user is currently engaged in viewing long-form media content. For example, if the control circuit 404 determines that the user is currently (e.g., during period 112) engaged in viewing long-form media content, the control circuit 404 may use the long media viewing profile to provide a recommendation for display.
[0125] In some embodiments, the control circuit 404 may select a recommendation having metadata that matches the recommended metadata stored in the long media viewing profile. For example, if the long media viewing profile includes the stored metadata keyword "car", the control circuit 404 may select a recommendation (e.g., an advertisement for Ford cars) having metadata that matches the stored metadata (e.g., the metadata keyword "car"). The control circuit 404 may then provide the selected recommendation for display. In one example, the control circuit 404 may provide an advertisement for Ford cars on the display 100, on the user television device 502, or on the user computer device 504.
[0126] Figure 7 depicts another illustrative flow diagram of process 700 for providing recommendations to a user according to some embodiments of the present disclosure. Process 700 may be executed by control circuit 404 (e.g., in a manner commanded to control circuit 404 by a media guide application). Control circuit 404 may be part of a user device (e.g., user television device 502, user computer device 504, and / or wireless communication device 506), or a remote server remote from the user device via communication network 514. In some embodiments, any of steps 702 - 726 in FIG. 7 may optionally be omitted. In some embodiments, any of steps 702 - 626 in FIG. 7 may be performed in any order or simultaneously.
[0127] Process 700 begins with steps 702 - 704 and 706 - 708. In some embodiments, the sequence of steps 702, 704 and 706, 708 may be performed in any order or may be interspersed with each other.
[0128] At 702, control circuit 404 tracks the user's behavior while the user is engaged in viewing short media content (e.g., during period 114). For example, control circuit 404 may track the user's behavior when the user is viewing media content shorter than a certain length threshold (e.g., 15 minutes). In some embodiments, any other length threshold may be used.
[0129] At 704, the control circuit 404 may generate a short media viewing profile based on the behavior of the user tracked while the user was engaged in viewing short media content (e.g., during period 114). In some embodiments, the control circuit 404 tracks user requests for other media content (e.g., user requests for other videos via the user television device 502), or user requests for other data (e.g., user requests for web pages via the user computer device 504), or any of the user's interactions with content (e.g., requests regarding trick play mode via the user interface 410) or the user's interactions with provided advertisements (e.g., the user clicks on a pop-up advertisement). The tracked behavior may be used by the control circuit 404 to generate recommended metadata, which is then stored in the short media viewing profile.
[0130] At 706, the control circuit 404 tracks the behavior of the user while the user is engaged in viewing long media content (e.g., during period 112). For example, the control circuit 404 may track the behavior of the user when the user is viewing media content equal to or longer than a certain length threshold (e.g., 15 minutes).
[0131] In 708, control circuit 404 may generate a long media viewing profile based on the behavior of the user tracked when the user was engaged in viewing long media content (e.g., during period 112). In some embodiments, control circuit 404 tracks user requests for other media content (e.g., user requests for other videos via user television device 502), or user requests for other data (e.g., user requests for web pages via user computer device 504), or any of the user's interactions with content (e.g., requests regarding trick play mode via user interface 410) or the user's interactions with provided advertisements (e.g., the user clicks on a pop-up advertisement). The tracked behavior may be used by control circuit 404 to generate recommendation metadata, which is then stored in the long media viewing profile.
[0132] Process 700 continues at 710, and circuit 404 provides media content to the user device. For example, a media guide application launched on control circuit 404 may generate media content for display on display 412 of user television device 502. The media content may be generated for display as a result of the user device being powered on via an explicit user selection to play a video, or by any other trigger event.
[0133] Following 712, in process 700, control circuit 404 compares the length of the media content with a length threshold. For example, the length threshold can be preset to a certain time value (e.g., 15 minutes). Based on at least one of factors including a user profile, metadata of the provided media content, the popularity of the media content, and the type of the media content, or any combination thereof, control circuit 404 can dynamically generate the length threshold. For example, control circuit 404 can set the length threshold differently for news videos and for videos depicting fictional content. In some embodiments, control circuit 404 can read the length of the media content from media content data source 516 or media guide data source 518.
[0134] In some embodiments, the length threshold can be set differently for different users. In some embodiments, control circuit 404 can set the length threshold differently according to the demographic information of the user. For example, control circuit 404 can set the length threshold lower (e.g., 5 minutes) for younger users (e.g., users under 10 years old) and higher (e.g., 15 minutes) for older users.
[0135] Following 714, in process 700, if the length of the media content corresponds to (e.g., equals or exceeds) the length threshold (e.g., 15 minutes), process 700 can proceed to steps 716 - 720. Alternatively, if the length of the media content does not correspond to (e.g., is not equal to or does not exceed) the length threshold (e.g., 15 minutes), process 700 can proceed to steps 722 - 726.
[0136] At 716, the control circuit 404 may activate a long media viewing profile. That is, while the long media viewing profile is active, the control circuit 404 may modify the viewing profile based on the user's tracked behavior. In some embodiments, the recommendations provided by the control circuit 404 will also be based on the activated long media viewing profile.
[0137] At 718, the control circuit 404 may select a recommended item. For example, the recommended item may be selected from a media guide data source 518 (e.g., if the recommended item is associated with media content), or from an advertisement source 524 (e.g., if the recommended item is associated with an advertisement).
[0138] In some embodiments, the control circuit 404 may select a recommended item such that the metadata of the recommended item matches at least one recommended metadata of the long media viewing profile. For example, the control circuit 404 may match keywords associated with a media content database stored in the media guide data source 518. In another example, the control circuit 404 may match keywords associated with an advertisement database stored in the advertisement source 524. If the metadata of the recommended item sufficiently matches at least a portion of the metadata stored in the long media viewing profile, the control circuit 404 may select the recommended item for presentation.
[0139] At 720, the control circuit 404 may provide the recommended item to the user device. For example, the recommended item may be displayed on the display 100 as a recommendation 116. In some embodiments, the control circuit 404 may provide the recommended item to the user computer device 504.
[0140] At 722, the control circuit 404 may activate a short media viewing profile. That is, while the short media viewing profile is active, the control circuit 404 may modify the viewing profile based on the user's tracked behavior. In some embodiments, the recommendations provided by the control circuit 404 will also be based on the activated short media viewing profile.
[0141] At 724, the control circuit 404 may select a recommended item. For example, the recommended item may be selected from a media guide data source 518 (e.g., if the recommended item is associated with media content), or from an advertisement source 524 (e.g., if the recommended item is associated with an advertisement).
[0142] In some embodiments, the control circuit 404 may select a recommended item such that the metadata of the recommended item matches at least one recommended metadata of the short media viewing profile. For example, the control circuit 404 may match keywords associated with a media content database stored in the media guide data source 518. In another example, the control circuit 404 may match keywords associated with an advertisement database stored in the advertisement source 524. If the metadata of the recommended item sufficiently matches at least a portion of the metadata stored in the short media viewing profile, the control circuit 404 may select the recommended item for presentation.
[0143] At 726, the control circuit 404 may provide the recommended item to the user device. For example, the recommended item may be displayed on the display 100 as a recommendation 116. In some embodiments, the control circuit 404 may provide the recommended item to the user computer device 504.
[0144] FIG. 8 depicts an illustrative flow diagram of a process 800 for generating a short media viewing profile according to some embodiments of the present disclosure. The process 800 may be executed by a control circuit 404 in a manner commanded by, for example, a media guide application. In some embodiments, the process 800 may be implemented as part of block 704. In some embodiments, any of steps 802 - 808 of FIG. 8 may optionally be omitted. In some embodiments, any of steps 802 - 808 of FIG. 8 may be implemented in any order or simultaneously.
[0145] The process 800 begins at 802, where the control circuit 404 may determine that the user is viewing short media content. For example, the control circuit 404 may determine that the content currently provided to the media device has a length that does not exceed a threshold (e.g., 15 minutes). In response to this determination, the control circuit 404 may proceed to block 804.
[0146] Following 804, the process 800 may monitor user requests regarding the content during or immediately after the time the short media content is being played. For example, the control circuit 404 may analyze any requests for a web page or any other data regarding media content generated by the user via either the user television device 502 or the user computer device 504.
[0147] Following 806, in process 800, control circuit 404 may store metadata associated with user requests. In some embodiments, control circuit 404 may generate or modify a short media viewing profile to include a plurality of recommended metadata. For example, the recommended metadata may be generated by copying the metadata of the content requested by the user. For example, if the user requests the music video "Thriller" while viewing short media content (e.g., during period 114), control circuit 404 may store, as recommended metadata, the metadata associated with that music video in the short media viewing profile. In this example, control circuit 404 may store, as recommended metadata, keywords such as "Thriller", "Michael Jackson", and "pop music" in the short media viewing profile. In another example, if the user requests the website www.toyota.com while viewing short media content (e.g., during period 114), control circuit 404 may store, as recommended metadata, the metadata associated with that website in the short media viewing profile. In this example, control circuit 404 may store, as recommended metadata, keywords such as "Toyota" or "car" in the short media viewing profile.
[0148] FIG. 9 depicts another exemplary flowchart of a process 900 for generating a short media viewing profile according to some embodiments of the present disclosure. Process 900 may be executed by control circuit 404 in a manner commanded by, for example, a media guide application. In some embodiments, process 900 may be implemented as part of block 704. In some embodiments, any of steps 902-908 of FIG. 6 may optionally be omitted. In some embodiments, any of steps 902-908 of FIG. 9 may be implemented in any order or simultaneously.
[0149] Process 900 starts at 902, and control circuit 404 may determine that the user is viewing short media content. For example, control circuit 404 may determine that the content currently provided to the media device has a length that does not exceed a threshold (e.g., 15 minutes). In response to this determination, control circuit 404 may proceed to block 904.
[0150] Following 904, process 900, control circuit 404 may provide an advertisement to the user device during or immediately after the short media content is being played. For example, control circuit 404 may read an advertisement from advertisement source 524 and distribute it to user television device 502 or user computer device 504.
[0151] Following 906, process 900, control circuit 404 may monitor the user's response to the advertisement. For example, control circuit 404 may track whether the user clicks on or otherwise interacts with the advertisement via user input interface 410 or via user computer device 504. Control circuit 404 may also track whether the user ignores or closes the advertisement. In some embodiments, if control circuit 404 determines that the user has favorably reacted to the advertisement (e.g., when the advertisement is clicked), control circuit 404 may proceed to block 908.
[0152] Following 908, process 900, control circuit 404 may store the metadata associated with the advertisement. For example, if the user favorably reacts to an advertisement about Domino’s Pizza, control circuit 404 may store the keywords “pizza,” or “Domino’s,” or “takeout” as recommended metadata within the short media viewing profile.
[0153] FIG. 10 depicts an illustrative flow diagram of a process 1000 for generating a long media viewing profile according to some embodiments of the present disclosure. The process 1000 can be executed by a control circuit 404 in a manner commanded by, for example, a media guide application. In some embodiments, the process 800 can be implemented as part of block 704. In some embodiments, any of steps 1002 - 1006 in FIG. 10 can optionally be omitted. In some embodiments, any of steps 1002 - 1008 in FIG. 10 can be implemented in any order or simultaneously.
[0154] The process 1000 begins at 1002, where the control circuit 404 can determine that the user is viewing long media content. For example, the control circuit 404 can determine that the content currently provided to the media device has a length exceeding a threshold (e.g., 15 minutes). In response to this determination, the control circuit 404 can proceed to block 1004.
[0155] Following 1004, the process 1000 can have the control circuit 404 monitor user requests regarding the content during or immediately after the time the long media content is being played. For example, the control circuit 404 can analyze any requests regarding media content, web pages, or any other data generated by the user via either the user television device 502 or the user computer device 504.
[0156] Following 1006, in process 1000, control circuit 404 may store metadata associated with user requests. In some embodiments, control circuit 404 may generate or modify a long media viewing profile to include a plurality of recommended metadata. For example, the recommended metadata may be generated by copying the metadata of the content requested by the user. For example, if the user requests the movie video "Titanic" while viewing long media content (e.g., during period 112), control circuit 404 may store, as recommended metadata, the metadata associated with that movie in the long media viewing profile. In this example, control circuit 404 may store, as recommended metadata, keywords such as "Titanic", "Leonardo DiCaprio", and "romance movie" in the long media viewing profile. In another example, if the user requests the website www.subway.com while viewing long media content (e.g., during period 112), control circuit 404 may store, as recommended metadata, the metadata associated with that website in the long media viewing profile. In this example, control circuit 404 may store, as recommended metadata, keywords such as "sandwich" or "sub" in the long media viewing profile.
[0157] FIG. 11 depicts another exemplary flowchart of process 1100 for generating a long media viewing profile according to some embodiments of the present disclosure. Process 1100 may be executed by control circuit 404 in a manner commanded by, for example, a media guide application. In some embodiments, process 1100 may be implemented as part of block 708. In some embodiments, any of steps 1102-1108 in FIG. 11 may optionally be omitted. In some embodiments, any of steps 1102-1108 in FIG. 11 may be implemented in any order or simultaneously.
[0158] Process 1100 starts at 1102, and control circuit 404 can determine that the user is viewing long-form media content. For example, control circuit 404 can determine that the content currently provided to the media device has a length exceeding a threshold (e.g., 15 minutes). In response to this determination, control circuit 404 can proceed to block 1104.
[0159] Following 1104, in process 1100, control circuit 404 can provide an advertisement to the user device during or immediately after the time when the long-form media content is being played. For example, control circuit 404 can read an advertisement from advertisement source 524 and distribute it to user television device 502 or user computer device 504.
[0160] Following 1106, in process 1100, control circuit 404 can monitor the user's response to the advertisement. For example, control circuit 404 can track whether the user clicks on the advertisement or otherwise interacts with it via user input interface 410 or via user computer device 504. Control circuit 404 can also track whether the user ignores or closes the advertisement. In some embodiments, if control circuit 404 determines that the user has favorably responded to the advertisement (e.g., the advertisement has been clicked), control circuit 404 can proceed to block 1108.
[0161] Following 1108, in process 1100, control circuit 404 can store the metadata associated with the advertisement. For example, if the user has favorably responded to an advertisement about Ford cars, control circuit 404 can store the keywords "Ford", or "car", or "sedan" as recommended metadata within the long media viewing profile.
[0162] FIG. 12 depicts an illustrative flow diagram of a process 1200 for activating either a long media viewing profile or a short media viewing profile according to some embodiments of the present disclosure. The process 1200 may be executed by a control circuit 404 in a manner commanded by, for example, a media guide application. In some embodiments, the process 1200 may be implemented as part of either block 716 or 722. In some embodiments, the control circuit 404 may activate either a short media viewing profile or a long media viewing profile without determining the length of the media content (e.g., at block 712). In some embodiments, any of steps 1202 - 1214 of FIG. 12 may optionally be omitted. In some embodiments, any of steps 1202 - 1214 of FIG. 12 may be performed in any order or simultaneously.
[0163] The process 1200 begins with blocks 1202, 1203, 1204, 1205, 1206, and 1207. In some embodiments, the process 1200 may perform any one or any combination of these blocks in any order or simultaneously.
[0164] At 1202, the control circuit 404 may analyze time data. For example, the control circuit 404 may determine the current time and current date. For example, the control circuit 404 may read time data from the user television device 502, the user computer device 504, or an internal clock.
[0165] In 1203, the control circuit 404 can analyze any type of data about the user and determine the activity the user is currently engaged in. For example, calendar data and reservation data can be used by the control circuit 404 to determine the activities scheduled by the user at that time. In some embodiments, the control circuit 404 can determine whether the user is walking, jogging, or driving based on calendar data. In some embodiments, the control circuit 404 can determine the user's activity based on location (e.g., GPS) data. For example, the user's speed can be used to determine whether the user is walking, jogging, or driving. In some embodiments, the user's current request can be used to determine the user's activity. For example, if the user opens a recipe web page and keeps it open for a period of time, the control circuit 404 can determine that the user is engaged in a cooking activity. In some embodiments, any other data can be used to determine any other user activity.
[0166] In 1204, the control circuit 404 can analyze the user's location. For example, the control circuit 404 can determine the user's location based on the IP address of the user computer device 504. In some embodiments, the control circuit 404 can read GPS data from the user computer device 504 and determine the user's location.
[0167] In 1205, the control circuit 404 can monitor and analyze the user's viewing behavior. For example, the control circuit 404 can monitor the user's trick play mode request. In some embodiments, the control circuit 404 can monitor whether the user frequently pauses the media content currently being viewed. In some embodiments, the control circuit 404 can analyze whether the user suddenly stops viewing long media content.
[0168] At 1206, the control circuit 404 can analyze the user's search input. For example, the control circuit 404 can track the most recent search input received from the user computer device 504. For example, when the user is searching for "car dealerships", the control circuit 404 can analyze the content of that search.
[0169] At 1207, the control circuit 404 can receive an explicit profile selection input from the user, for example, via the user input interface 410. For example, the user can explicitly select the option "long format mode" or the option "short format mode" (e.g., via radio button input).
[0170] Following 1208, the process 1200 is such that the control circuit 404 determines whether the user is in the mood to view long - format media content or short - format media content based on the analysis of one or several of blocks 1202 - 1206. For example, the control circuit 404 can have data (e.g., in the storage device 408) indicating that the user is in the mood to view long - format media content on a weekend night. In this example, if it is determined (e.g., at block 1202) that the current time is 8:15 p.m. on Saturday or Sunday, the control circuit 404 can determine that the user is in the mood to view long - format media content. In another example, the control circuit 404 can have data indicating that the user is in the mood to view short - format media content when the user is at work (e.g., during a lunch break). In this example, if it is determined (e.g., at block 1204) that the current location of the user is the user's workplace, the control circuit 404 can determine that the user is in the mood to view short - format media content. In another example, if the control circuit 404 determines (e.g., at 1206) a user search related to long - format media, the control circuit 404 can determine that the user is in the mood to view long - format media content.
[0171] In another example, the control circuit 404 may have data indicating the user's current activity as detected in block 1203. In some embodiments, some activities (e.g., taking a long walk, relaxing at home) may be associated with a mood for enjoying long-form media content. In some embodiments, some activities (e.g., jogging, cooking) may be associated with a mood for enjoying short-form media content. As a result, the control circuit 404 may determine, based on the user's activity, that the user is in a mood to enjoy long or short-form media content.
[0172] In some embodiments, the control circuit 404 may determine, based on the user's viewing behavior monitored in block 1205, that the user is in a mood to enjoy long or short-form media content. For example, if the user frequently pauses and resumes the playback of media content, the control circuit 404 may determine that the user is in a mood to enjoy short-form media content. In another example, if the user suddenly stops the playback of long-form media content, the control circuit 404 may determine that the user is in a mood to enjoy short-form media content.
[0173] In some embodiments, the control circuit 404 may determine, based on the input received in step 1207, that the user is in a mood to enjoy long or short-form media content. For example, if the user explicitly selects "long-form mode" via the user interface, the control circuit 404 may determine that the user is in a mood to enjoy long-form media content. In another example, if the user explicitly selects "short-form mode" via the user interface, the control circuit 404 may determine that the user is in a mood to enjoy short-form media content.
[0174] Following 1210, in process 1200, if the user is in the mood to view long-form media content, control circuit 404 may proceed to 1212. If the user is in the mood to view short-form media content, control circuit 404 may proceed to 1214.
[0175] At 1212, control circuit 404 may activate a long media viewing profile. In some embodiments, control circuit 404 may then perform steps 718 and 720 of FIG. 7.
[0176] At 1214, control circuit 404 may activate a short media viewing profile. In some embodiments, control circuit 404 may then perform steps 724 and 726 of FIG. 7.
[0177] FIG. 13 depicts an illustrative flowchart of a process 1300 for providing recommended items to a user device according to some embodiments of the present disclosure. Process 1300 may be executed by control circuit 404 in a manner commanded by, for example, a media guide application. In some embodiments, process 1300 may be implemented as part of either block 718 or 724. In some embodiments, any of steps 1302-1312 of FIG. 13 may optionally be omitted. In some embodiments, any of steps 1302-1312 of FIG. 13 may be implemented in any order or simultaneously. In some embodiments, control circuit 404 may select a recommended item based on the length of the media item associated with the recommended item.
[0178] Process 1300 begins at 1302 where control circuit 404 determines the profile that is active. For example, a status indicating the active profile may be maintained within storage device 408.
[0179] Process 1300 continues at 1304, and control circuit 404 proceeds to 1306 if a short media viewing profile is active, and to 1310 if a long media viewing profile is active.
[0180] At 1306, control circuit 404 may select short recommended items associated with second short media content. In some embodiments, if a short media viewing profile is active, control circuit 404 may select only recommended items associated with short media content. That is, control circuit 404 may provide recommendations only for media content shorter than a certain length threshold (e.g., 15 minutes).
[0181] At 1308, control circuit 404 may provide the short recommended items to the user device. This may be done in the manner described in connection with block 720.
[0182] At 1310, control circuit 404 may select long recommended items associated with second long media content. In some embodiments, if a long media viewing profile is active, control circuit 404 may select only recommended items associated with long media content. That is, control circuit 404 may provide recommendations only for media content longer than a certain length threshold (e.g., 15 minutes).
[0183] At 1312, control circuit 404 may provide the long recommended items to the user device. This may be done in the manner described in connection with block 726.
[0184] FIG. 14 depicts an illustrative flow diagram of a process 1400 for providing recommendations to a user device according to some embodiments of the present disclosure. The process 1400 may be executed by a control circuit 404 in a manner commanded by, for example, a media guide application. In some embodiments, the process 1400 may be implemented as part of either block 720 or 726. In some embodiments, any of steps 1402 - 1420 of FIG. 14 may optionally be omitted. In some embodiments, any of steps 1402 - 1420 of FIG. 14 may be implemented in any order or simultaneously.
[0185] The process 1400 begins at 1402, where the control circuit 404 maintains a list of recommended media content. For example, the list may include two or more media content items (e.g., a music video of "Thriller" followed by a music video of "Beat It"). In some embodiments, the list may be ordered, i.e., each media content item in the list may be assigned a priority. For example, the music video "Thriller" may be given a priority of "1", i.e., the music video "Thriller" may be first on the list. In another example, the music video "Beat It" may be given a priority of "2", i.e., the music video "Beat It" may be second on the list. In some embodiments, the control circuit 404 may provide media content to the user device in the order specified by the list. For example, in the absence of different instructions, the control circuit 404 may first provide the first media content on the list (e.g., the music video "Thriller") to the user device and, upon completion of that media content, provide the second media content on the list (e.g., the music video "Beat It") to the user device. In another embodiment, when media content is provided to the user device, it is removed from the playback list. In this case, the first item in the list is always provided to the user device.
[0186] Process 1400 continues at 1404, and control circuit 404 proceeds to 1406 if a short media viewing profile is active, or to 1414 if a long media viewing profile is active. This determination can be made in a manner similar to that described in connection with block 1302.
[0187] Process 1400 continues at 1406, and control circuit 404 may adjust a list of recommended media content based on the short media viewing profile. For example, control circuit 404 may add content items to a playback list based on recommended metadata included within the short media viewing profile. In some embodiments, control circuit 404 may add content to the list from media content source 516 or media guide data source 518. In some embodiments, control circuit 404 may add content to the list from a third-party media content source (e.g., a third-party website such as YOUTUBE™).
[0188] In some embodiments, in addition to matching the recommended metadata within the short media viewing profile, control circuit 404 may add content to the list based on other factors. For example, when the short media viewing profile is active, control circuit 404 may check for other short media that has been recently viewed or liked by the user's friends and add that short media to the list. In some embodiments, when the short media viewing profile is active, control circuit 404 may identify short media content that is of a type similar to the currently provided media content. For example, if the user is viewing a music video, control circuit 404 may identify music video short media content and add it to the list. In some embodiments, control circuit 404 may also add at least one long media content to the list.
[0189] Process 1400 continues at 1408, and control circuit 404 may sort a list of recommended media content based on a short media viewing profile. For example, while control circuit 404 may sort the list and present higher short media content on the list, long media content may be presented lower on the list. In some embodiments, control circuit 404 may sort the list based on other factors, such as based on the popularity of the media content.
[0190] Process 1400 continues at 1410, and control circuit 404 may provide a list of recommended media content to the user device. For example, the list may be provided on display 100 as recommendation 116. In some embodiments, the list is provided while the media content is still being provided. In some embodiments, the list is provided immediately after (or shortly after) the current media content has ended.
[0191] Process 1400 continues at 1412, and control circuit 404 may provide the selected media content to the user device based on a user selection from the list. For example, the user may select at least one media content item from the list using, for example, user interface input 410. In some embodiments, control circuit 404 may then provide the selected media content to the user device after the presentation of the current media content has ended.
[0192] As an alternative, process 1400 may continue at 1414 after block 1404, and control circuit 404 may adjust a list of recommended media content based on a long media viewing profile. For example, control circuit 404 may add content items to the playback list based on recommended metadata included within the long media viewing profile. In some embodiments, control circuit 404 may add content to the list from media content source 516 or media guide data source 518. In some embodiments, control circuit 404 may add content to the list from a third-party media content source (e.g., a third-party website such as YOUTUBE™).
[0193] In some embodiments, in addition to matching the recommended metadata within the long media viewing profile, control circuit 404 may add content to the list based on other factors. For example, when the long media viewing profile is active, control circuit 404 may check for other long-form media recently viewed or liked by the user's friends and add that long-form media to the list. In some embodiments, when the long media viewing profile is active, control circuit 404 may identify long-form media content that is of a type similar to the currently offered media content. For example, if the user is viewing a romance movie, control circuit 404 may identify other long-form romance movie media content and add it to the list. In some embodiments, control circuit 404 may also add at least one short-form media content to the list.
[0194] Process 1400 continues at 1416, and control circuit 404 may sort the list of recommended media content based on a long media viewing profile. For example, while control circuit 404 may sort the list and present longer media content higher on the list, shorter media content may be presented lower on the list. In some embodiments, control circuit 404 may sort the list based on other factors, such as recommendations or preferences of the user's friends.
[0195] Process 1400 continues at 1418, and control circuit 404 may provide the list of recommended media content to the user device. For example, the list may be provided on display 100 as recommendation 116. In some embodiments, the list is provided while the current media content is still being provided. In some embodiments, the list is provided immediately after (or shortly after) the current media content has ended.
[0196] Process 1400 continues at 1420, and control circuit 404 may provide the selected media content to the user device based on a user selection from the list. For example, the user may select at least one media content item from the list using, for example, recommendation UI 118. In some embodiments, control circuit 404 may then provide the selected media content to the user device after the presentation of the current media content has ended.
[0197] FIG. 15 depicts an illustrative flow diagram of a process 1500 for providing recommended items to a user device according to some embodiments of the present disclosure. The process 1500 may be executed by a control circuit 404 in a manner commanded by, for example, a media guide application. In some embodiments, the process 1400 may be implemented as part of either block 720 or 726. In some embodiments, any of steps 1502-1506 of FIG. 15 may optionally be omitted. In some embodiments, any of steps 1502-1506 of FIG. 15 may be implemented in any order or simultaneously. In some embodiments, in connection with the process 1500, the recommended items may comprise media content.
[0198] The process 1500 begins at 1502, where the control circuit 404 maintains a playback list. The playback list may comprise an ordered data structure of recommended items (e.g., recommended media content items). In some embodiments, the playback list may include multiple movies or other videos. For example, the playback list may include the movie "Titanic" and the music video "Thriller". For example, the movie "Titanic" may be given a priority of "1". In another example, the music video "Thriller" may be given a priority of "2". In some embodiments, the control circuit 404 may provide media content to the user device in the order specified by the list. For example, in the absence of different instructions, the control circuit 404 may automatically provide the first media content on the list (e.g., the movie "Titanic") to the user device and, upon completion of that media content, automatically provide the second media content on the list (e.g., the music video "Thriller") to the user device. In some embodiments, any number of media content items, both long and short, may be included in the playback list.
[0199] Process 1500 continues at 1504, and control circuit 404 adjusts the playback list based on the activated viewing profile. In some embodiments, a long media viewing profile may be activated (e.g., at block 716). In some embodiments, a short media viewing profile may be activated (e.g., at block 722).
[0200] In some embodiments, when a short media viewing profile is activated, control circuit 404 may add one or more short media content items to the playback list. In some embodiments, additionally or alternatively, control circuit 404 may sort the playback list so that short media content items are assigned a higher priority than long media content items. For example, the playback list may be modified so that the music video "Thriller" (short media content) is given a higher priority on the playback list than the movie "Titanic" (long media content).
[0201] In some embodiments, when a long media viewing profile is activated, control circuit 404 may add one or more long media content items to the playback list. In some embodiments, additionally or alternatively, control circuit 404 may sort the playback list so that long media content items are assigned a higher priority than short media content items. For example, the playback list may be modified so that the movie "Titanic" (long media content) is given a higher priority on the playback list than the music video "Thriller" (short media content).
[0202] Process 1500 continues at 1506, and control circuit 404 automatically provides the next media content to the user device based on the order defined in the playback list. In some embodiments, the playback list can be provided for display to the user, for example, as recommended 116 on display 100. In some embodiments, the playback list can be visible to the user and maintained internally by control circuit 404.
[0203] In some embodiments, after the presentation of the current media content (e.g., the media content provided at step 710) is complete, control circuit 404 can automatically provide the user with the media content item with the highest priority as the next media content. In some embodiments, control circuit 404 can automatically provide the next media content to the user device without receiving any type of user input. For example, when the presentation of the current media content is complete, control circuit 404 can begin providing the movie "Titanic" (the first item in the playback list) to the user device without any type of user input or confirmation.
[0204] Note that process 600 - 1500 or any step thereof can be implemented on or provided by any of the devices shown in or described with respect to FIGS. 4 - 5. For example, either process 600 or process 700 can be executed by control circuit 404 (FIG. 4) as commanded by a media guide application implemented on user devices 502, 504, and / or 506 (FIG. 5). Additionally, one or more steps of processes 600 and 700 can be incorporated into or combined with one or more steps of any other process or embodiment.
[0205] Each step or description in FIGS. 6-15 is assumed to be usable with any other embodiment of the present disclosure. Some of each step or description in FIGS. 6-15 may be optional and are assumed to be omitted in some embodiments. Additionally, the steps and descriptions described in connection with FIGS. 6-15 may be performed in alternative orders or in parallel for purposes of furthering the objectives of the present disclosure. For example, each of these steps may be performed in any order or in parallel or substantially simultaneously to reduce latency or increase speed of a system or method. Further, note that any of the devices or apparatuses discussed in connection with FIGS. 4-5 may be used to perform one or more of the steps in FIGS. 6-15.
[0206] It will be apparent to those skilled in the art that the methods involved in the present disclosure may be embodied in a computer program product including a computer-usable and / or readable medium. For example, such a computer-usable medium may consist of a read-only memory device such as a CD-ROM disk or a conventional ROM device, or a random access memory such as a hard drive device or a computer diskette having computer-readable program code stored thereon. It is also to be understood that the methods, techniques, and processes involved in the present disclosure may be executed using a processing circuit. The processing circuit may be, for example, a general purpose processor, a customized integrated circuit (e.g., an ASIC), or a field programmable gate array (FPGA) within user equipment 400, media content source 516, or media guide data source 518.
[0207] The processes discussed above in FIGS. 6-15 are intended to be illustrative rather than limiting. One of ordinary skill in the art will understand that the steps of the processes within FIGS. 6-15 discussed herein may be omitted, modified, combined, and / or rearranged without departing from the scope of the present disclosure, and that any additional steps may be implemented. More generally, the above disclosure is illustrative and not intended to be limiting. Only the following claims are intended to set the bounds as to what the present invention encompasses. Further, note that the features and limitations described in any one embodiment may be applied to any other embodiment herein, and that a flowchart or example relating to one embodiment may be combined with any other embodiment in a suitable manner, may be performed in a different order, or may be performed in parallel. Additionally, the systems and methods described herein may be implemented in real time. Note also that the systems and / or methods described above may be applied to or used in accordance with other systems and / or methods.
[0208] Some portions of this disclosure may refer to “conventions,” but any such references are for the purpose of providing context to the invention of this disclosure only and do not form any admission as to what constitutes prior art.
Claims
1. A method comprising: maintaining a first data structure, the first data structure including popularity data collected based on user input data from a plurality of devices; receiving a plurality of user inputs from devices associated with a user profile requesting consumption of a plurality of long form content items; updating a second data structure to store user profile specific metadata associated with the user profile based on the received user inputs requesting consumption of a plurality of long form content items; transmitting instructions to the device to cause the device to display on a user interface a plurality of identifiers for a plurality of recommended long-form content items, the plurality of recommended long-form content items being selected based on metadata specific to the user profile in the second data structure; receiving a user input from the device associated with the user profile requesting consumption of at least one short-form content item; in response to receiving the user input requesting consumption of the at least one short-form content item; playing said at least one short-form content item; based on determining that the device is playing a short-form content item; displaying at least one identifier for at least one recommended short-length content item, the at least one recommended short-length content item being presented based on the popularity data of the first structure; and ceasing to display the plurality of identifiers for the plurality of recommended long-form content items; and transmitting instructions to the device for adjusting a display of the user interface to The method includes:
2. The method comprises: transmitting instructions to the device to cause the device to display on the user interface a plurality of identifiers for a plurality of recommended short-length content items, the plurality of recommended short-length content items being selected based on the popularity data of the first data structure; The method of claim 1 further comprising:
3. The user profile specific metadata in the second data structure indicates user preferences associated with a plurality of long form content items; The method comprises: causing the device to display the identifiers for the recommended long form content items as a list on the user interface; sorting the list of identifiers based on the user preferences associated with the plurality of long form content items; The method of claim 1 further comprising:
4. The method of claim 1, wherein each of the plurality of recommended long-form content items corresponds to a respective full-length TV sports content item, and wherein at least one of the recommended short-form content items corresponds to a video clip.
5. The method of claim 1, wherein the metadata specific to the user profile further includes user metadata obtained from a third party.
6. The instructions for causing the device to display on the user interface the plurality of identifiers for the plurality of recommended short-length content items, comprising: instructions for displaying the plurality of identifiers for the plurality of recommended short-length content items above the plurality of identifiers for the plurality of recommended long-length content items; The method of claim 2 , further comprising:
7. The method comprises: receiving a user input from the device associated with the user profile requesting consumption of at least one long form content item; in response to receiving the user input requesting consumption of the at least one long form content item; playing said at least one long form content item; Based on the device determining that a long form content item is being played, displaying at least one identifier for at least one recommended long-form content item, the at least one recommended long-form content item being presented based on metadata specific to the user profile in the second structure; and ceasing to display the identifiers for the recommended short-length content items; and transmitting instructions to the device for adjusting a display of the user interface to The method of claim 2 , further comprising:
8. The method comprises: causing the device to display the identifiers for the recommended short-length content items as a list on the user interface; sorting the list of identifiers based on the popularity data in the first data structure; The method of claim 2 , further comprising:
9. A system, comprising: a control circuit configured to maintain a first data structure, the first data structure including popularity data collected based on user input data from a plurality of devices; an input / output circuit configured to receive a plurality of user inputs from devices associated with a user profile requesting consumption of a plurality of long form content items; Equipped with The control circuit includes: updating a second data structure to store user profile specific metadata associated with the user profile based on the received user inputs requesting consumption of a plurality of long form content items; transmitting instructions to the device to cause the device to display on a user interface a plurality of identifiers for a plurality of recommended long-form content items, the plurality of recommended long-form content items being selected based on metadata specific to the user profile in the second data structure; [0023] The method according to claim 1, further comprising: The input / output circuit includes: receiving a user input from the device associated with the user profile requesting consumption of at least one short-form content item; [0023] The method according to claim 1, further comprising: The control circuit includes: in response to receiving the user input requesting consumption of the at least one short-form content item; playing said at least one short-form content item; based on determining that the device is playing a short-form content item; displaying at least one identifier for at least one recommended short-length content item, the at least one recommended short-length content item being presented based on the popularity data of the first structure; and ceasing to display the plurality of identifiers for the plurality of recommended long-form content items; and transmitting instructions to the device for adjusting a display of the user interface to The system is further configured to:
10. The control circuit comprises: transmitting instructions to the device to cause the device to display on the user interface a plurality of identifiers for a plurality of recommended short-length content items, the plurality of recommended short-length content items being selected based on the popularity data of the first data structure; The system of claim 9 , further configured to:
11. The user profile specific metadata in the second data structure indicates user preferences associated with a plurality of long form content items; The control circuit includes: causing the device to display the identifiers for the recommended long form content items as a list on the user interface; sorting the list of identifiers based on the user preferences associated with the plurality of long form content items; The system of claim 9 , further configured to:
12. The system of claim 9, wherein each of the plurality of recommended long-form content items corresponds to a respective full-length TV sports content item, and wherein at least one of the recommended short-form content items corresponds to a video clip.
13. The system of claim 9, wherein the metadata specific to the user profile further includes user metadata obtained from a third party.
14. The instructions for causing the device to display on the user interface the plurality of identifiers for the plurality of recommended short-length content items, comprising: instructions for displaying the plurality of identifiers for the plurality of recommended short-length content items above the plurality of identifiers for the plurality of recommended long-length content items; The system of claim 10 further comprising:
15. The input / output circuit comprises: receiving a user input from the device associated with the user profile requesting consumption of at least one long-form content item; [0023] The method according to claim 1, further comprising: The control circuit includes: in response to receiving the user input requesting consumption of the at least one long form content item; playing said at least one long form content item; Based on the device determining that a long form content item is being played, displaying at least one identifier for at least one recommended long-form content item, the at least one recommended long-form content item being presented based on metadata specific to the user profile in the second structure; and ceasing to display the identifiers for the recommended short-length content items; and transmitting instructions to the device for adjusting a display of the user interface to The system of claim 10 , further configured to:
16. The control circuit comprises: causing the device to display the identifiers for the recommended short-length content items as a list on the user interface; sorting the list of identifiers based on the popularity data in the first data structure; The system of claim 10 , further configured to:
17. A non-transitory computer-recorded medium, comprising: instructions that, when executed by control circuitry, cause the control circuitry to maintain a first data structure, the first data structure including popularity data collected based on user input data from a plurality of devices; instructions that, when executed by the control circuitry, cause the input / output circuitry to receive a plurality of user inputs from devices associated with a user profile requesting consumption of a plurality of long form content items; Equipped with The instructions executed by the control circuitry include: updating a second data structure to store user profile specific metadata associated with the user profile based on the received user inputs requesting consumption of a plurality of long form content items; transmitting instructions to the device to cause the device to display on a user interface a plurality of identifiers for a plurality of recommended long-form content items, the plurality of recommended long-form content items being selected based on metadata specific to the user profile in the second data structure; and further causing the control circuit to perform The instructions executed by the control circuitry include: receiving a user input from the device associated with the user profile requesting consumption of at least one short-form content item; and causing the input / output circuitry to further perform The instructions executed by the control circuitry include: in response to receiving the user input requesting consumption of the at least one short-form content item; playing said at least one short-form content item; based on determining that the device is playing a short-form content item; displaying at least one identifier for at least one recommended short-length content item, the at least one recommended short-length content item being presented based on the popularity data of the first structure; and ceasing to display the plurality of identifiers for the plurality of recommended long-form content items; and transmitting instructions to the device for adjusting a display of the user interface to A non-transitory computer-readable storage medium further causing the control circuit to perform the steps of:
18. The non-transitory computer recording medium, When executed by the control circuitry, transmitting instructions to the device to cause the device to display on the user interface a plurality of identifiers for a plurality of recommended short-length content items, the plurality of recommended short-length content items being selected based on the popularity data of the first data structure; 20. The non-transitory computer-readable medium of claim 17, further comprising instructions for causing the control circuitry to:
19. The instructions for causing the device to display on the user interface the plurality of identifiers for the plurality of recommended short-length content items, comprising: instructions for displaying the plurality of identifiers for the plurality of recommended short-length content items above the plurality of identifiers for the plurality of recommended long-length content items; 20. The non-transitory computer-storage medium of claim 18, further comprising:
20. The non-transitory computer recording medium, When executed by the control circuitry, receiving a user input from the device associated with the user profile requesting consumption of at least one long-form content item; and instructions to cause said input / output circuitry to: When executed by the control circuitry, in response to receiving the user input requesting consumption of the at least one long form content item; playing said at least one long form content item; Based on the device determining that a long form content item is being played, displaying at least one identifier for at least one recommended long-form content item, the at least one recommended long-form content item being presented based on metadata specific to the user profile in the second structure; and ceasing to display the identifiers for the recommended short-length content items; and transmitting instructions to the device for adjusting a display of the user interface to and instructions to cause the control circuit to:
20. The non-transitory computer-storage medium of claim 18, further comprising:
Citation Information
Patent Citations
Content recommendation device and method
JP2006505988A
Content presentation device and content presentation program
JP2012023636A
Device, method, and program for recommending TV programs
JP2017167909A
Information processing system, information processing device, control method, and program
WO2016111065A1
Video recommendation method, server and storage medium
WO2017005054A1