# Patent

## Title
Systems and methods for ranking assets relative to a group of viewers

## Abstract

Systems and methods are provided for ranking assets relative to a group of viewers. A group is formed by a user by selecting a number of different viewer preference profiles or automatically by the system as a function of analyzing similarities among viewer preference profiles. Individual preference values are computed for each viewer in the group relative to an asset. A group preference value is then computed by performing a function on the individual preference values. A display is generated that represents the individual preference values and the group preference value relative to an asset. Based on the information provided in the display, the asset most relevant to the group may be selected.

## Background
BACKGROUND OF THE INVENTION
The invention is directed to systems and methods for using an interactive media guidance application, and more particularly to using the interactive media guidance application to rank assets relative to a group of viewers.
Conventional systems allow users to specify their interest level in various media assets. For example, a user may specify his or her interest in a television program using a “thumbs up” and “thumbs down” approach which the systems use to rank the television programs. But such systems lack the capability to consider multiple viewers when ranking assets. In particular, it is usually multiple users (i.e., a group of viewers or a family) with different preferences relating to asset characteristics that wish to access a particular asset at the same time. For example, a family may gather together on a Friday for a family movie viewing night. However, because each member of the family has different asset preference characteristics, an asset ranked by conventional systems as very relevant for one user, may actually have little or no relevance to another user. Therefore, the family preferences will not be matched causing one member of the family to not enjoy accessing (e.g., watching) the asset with the rest of the family.
Accordingly, it is desirable to provide enhanced systems and methods for ranking assets relative to a group of viewers.
SUMMARY OF THE INVENTION
In accordance with the principles of the present invention, systems and methods are provided for ranking assets relative to a group of viewers.
A user may interact with a system to select a number of viewers that are to become members of a group. Each viewer may have a preference profile that defines that viewer's particular preferences stored locally or remotely.
Once the group is defined, the system performs a search for assets that match the viewing preferences of all of the members of the group. For example, the system may retrieve preference profile data structures associated with each member in the group. The system may compute an individual preference value by measuring a Euclidean distance between each viewer's preferences and a particular asset's characteristics defined in an asset characteristics data structure that correspond to those preferences. Each individual preference value may be stored locally or remotely to a memory.
The system may retrieve the individual preference values from a memory and perform a function on the individual preference values to compute a group preference value for a particular asset. For example, the function the system performs may be a sum, a vector sum, a difference, a Euclidean distance, a multidimensional centroid or middleground, or any other suitable measure relative to a group. The group preference value may be stored in a local or remote memory of the system.
The system may retrieve the individual preference values and the group preference value for each asset and generate a display representing at least the plurality of individual preference values and the group preference value. For example, the display may include an indicator that is partitioned according to the number of viewers in a particular group. The indicator may indicate both the individual preference values associated with the asset and the group preference value associated with the asset.
The indicators, provided in the display, allow each viewer to see which asset the whole group of viewers likes/dislikes the most, or perhaps that a particular viewer in the group may dislike the asset identified by the system as being most relevant to the group. Additionally, the system may identify which viewer in the group is likely to dislike the most relevant asset and provide information about why that particular asset is ranked as most relevant to the group. In some embodiments, the viewers in the group have priority designations which may affect the ranking of the assets. Thus, when two viewers, A and B, are in a group where A has a higher priority designation than B, the system will rank an asset that may not be particularly relevant to B as being relevant to the group because the asset may be strongly relevant to A. The displayed indicators convey such information to the group allowing viewer B to visually perceive (e.g., by way of visually identifying both the relevance of the asset to viewer A and that viewer's priority designation) why an asset is very relevant to the group even though the asset has little relevance to viewer B.
In some embodiments, the indicator may be a horizontal bar having a particular length that represents the group preference value. A user may determine the relevance of a particular asset to the group by comparing the total length of the bar corresponding to one asset with the total length of another bar that corresponds to a different asset. The bar may be partitioned into sections each having a length that corresponds to the individual preference values of the members of the group. A user may determine the relevance of a particular asset to one member of the group by comparing the length of the section corresponding to that member with the length of a section of the bar corresponding to other members of the group. In some aspects of the invention, the length of the bar is directly proportional to the relevance of the asset. Alternatively, the length of the bar may be inversely proportional to the relevance of the asset.
In some embodiments, the system may suggest a particular asset that is most relevant to the group. The system may determine the most relevant asset by accounting for individual viewer's priority designations, various alerts associated with parental controls or hard limits set for different viewer preferences in the viewer profile that are/are not exceeded.



BRIEF DESCRIPTION OF THE DRAWINGS
The above and other features of the present invention, its nature and various advantages will be more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings in which:
FIG. 1 is a diagram of an illustrative interactive television system in accordance with an embodiment of the present invention;
FIG. 2 shows an illustrative group viewer selection screen for computing a group preference value in accordance with an embodiment of the present invention;
FIG. 3 shows an illustrative user preference equalizer for storing user preferences in accordance with an embodiment of the present invention;
FIG. 4 shows an illustrative screen for importing user preferences from a remote source in accordance with an embodiment of the present invention;
FIG. 5 shows an illustrative preference profile data structure in accordance with an embodiment of the present invention;
FIG. 6 shows an illustrative asset characteristics data structure in accordance with an embodiment of the present invention;
FIGS. 7-9 show illustrative displays representing individual preference values and a group preference value for an asset in accordance with embodiments of the present invention;
FIG. 10 illustrates a method of generating a display representing individual and group preference values in accordance with an embodiment of the present invention; and
FIG. 11 illustrates a method of computing a group preference value in accordance with an embodiment of the present invention.



DETAILED DESCRIPTION
FIG. 1 shows illustrative interactive media system 100 in accordance with an embodiment of the invention. User equipment 110 receives content in the form of signals from media source 120 over communications path 122. In practice there may be multiple media sources 120 and user equipment 110, but only one of each has been shown in FIG. 1 to avoid over-complicating the drawing.
Media source 120 may be any suitable media source such as, for example, a cable system headend, satellite media distribution facility, media broadcast facility, on-demand server (e.g., VOD server), game service provider (e.g., for online gaming), Internet service provider (e.g., for providing Websites), an ordered list provider (e.g., for providing playlists), an asset provider (e.g., for providing assets or asset characteristics) or any other suitable facility or system for originating or distributing content. Media source 120 may be configured to transmit signals over any suitable communications path 122 including, for example, a satellite path, a fiber-optic path, a cable path, an Internet path, or any other suitable wired or wireless path. The signals may carry any suitable content such as, for example, television programs, games, music, news, and/or web services. In some embodiments, media source 120 may include control circuitry for executing the instructions of an interactive media guidance application such as, for example, a client/server or online interactive media guidance application.
As defined herein, an asset refers to any type of media that may be played, accessed, recorded or viewed. Such media may include all the variants of television media, music media, interactive games, and other audio and/or video media. Each asset may be associated with an identifier that identifies an aspect (e.g., name or title) of the asset. For example, the title of the movie “GoldenEye” may be associated with a video-on-demand asset or a recorded asset, and the title of the song “1979” by the Smashing Pumpkins may be associated with a music asset or game featuring the song's concept. Each asset includes asset characteristics that identify content present in the asset. Asset characteristics may include, for example, information conveying the amount of violence in the asset, amount of sexual content in the asset, genre type of the asset, parental control information pertaining to the asset, etc.
Media source 120 may store user preference profiles according to the invention which may be accessed by user equipment 110. For example, when a user sets up a user preference profile that contains preference characteristics relating to an asset, that user preference profile may be maintained at media source 120. Maintaining the user preference profile at media source 120 may be advantageous because media source 120 can dynamically adjust the contents or preferences of the user preference profile based on the user's local or remote viewing behavior. Maintaining the user preference profile at media source 120 may also be advantageous because it may be accessed by users and family members at a different user equipment 110. Alternatively, user preference profiles may be stored on user equipment 110.
User equipment 110 may include any equipment suitable for providing an interactive media experience. User equipment 110 may include television equipment such as a television, set-top box, recording device (e.g., digital video recorder), video player, user input device (e.g., remote control, keyboard, mouse, touch pad, touch screen and voice recognition interface), or any other device suitable for providing an interactive media experience. For example, user equipment 110 may include a DCT 2000, 2500, 5100, 6208 or 6412 set-top box provided by Motorola, Inc. In some embodiments, user equipment 110 may include computer equipment, such as a personal computer with a television card (PCTV) or an Open Cable Unidirectional Receiver (OCUR) plug-in card and optionally a security access card suitable for secure delivery of content. In some embodiments, user equipment 110 may include a gaming system, a portable electronic device, such as a portable DVD player, a portable gaming device, a cellular telephone, a PDA, a music player (e.g., MP3 player), or any other suitable portable or fixed device.
User equipment 110 may include a network interface (not shown) that interconnects various elements of user equipment 110 within, for example, a household. Such an arrangement may permit interconnection of multiple instances of user equipment 110 and/or use of a remotely located recording device (e.g., digital video recorder) or user equipment 110 which may store recorded programs or user profiles that may form a basis for ranking assets relative to a group of viewers.
In the example of FIG. 1, user equipment 110 includes at least control circuitry 118, display device 112, and user input device 114, which may be implemented as separate devices or as a single device. An interactive media guidance application, such as an interactive television program guide, may be implemented on user equipment 110 to control the display, on display device 112, of the media transmitted by media source 120 over path 122 and to provide interactive media guidance application features.
The media that may be played by user equipment 110 may vary widely. In fact, many different types of media may be played by user equipment 110. Many different types of media may be available because each media type may be unique in a technical sense (e.g., a particular technical implementation is required to play a particular type of media) or is considered unique in a definitional sense (e.g., a video-on-demand program may be considered a different type of media than a broadcast program). The different types of media may be classified generally or to a desired degree of specificity. For example, media may be classified into various types, including television media, music media, and audio and/or video media. Within each general media type, more specific and different media types are available. Television media may include, for example, broadcast television programming, recorded television programming, video-on-demand (VOD) programming, near video-on-demand (NVOD) programming, pay-per-view programming, satellite television programming, and streaming video programming. Recorded television programming may be a recording of another type of television programming (e.g., linear programming). Recorded television programs or assets may be stored locally on user equipment 110 or remotely on networked user equipment (not shown). Recorded television programming or assets may also be stored on a remote network video recorder/server (such as media source 120 or similar remote server). Music media may include, for example, MP3 files, WAV files, MIDI files, AAC, Real media, Dolby Digital, or other suitable format with which music can be compressed, distributed and stored on user device 110.
Display device 112 may be any suitable device such as, for example, a television monitor, a computer monitor, or a display incorporated in user equipment 110 (e.g., a cellular telephone or music player display). Display device 112 may also be configured to provide for the output of audio. Display device 112 may be configured to present a display representing a plurality of individual preference values and a group preference value relative to a particular asset. An indicator may be provided on display device 112 indicating both the plurality of individual preference values and the group preference value relative to a particular asset.
Control circuitry 118 is adapted to receive user inputs from input device 114 and execute the instructions of the interactive media guidance application. Control circuitry 118 may include one or more tuners (e.g., analog or digital tuners), encoders and decoders, processors (e.g., Motorola 68000 family processors), memory (i.e., RAM and hard disks), communications circuitry (e.g., cable modem circuitry), input/output circuitry (e.g., graphics circuitry), connections to the various devices of user equipment 110, and any other suitable component for providing analog or digital media programming, program recording and playback, and interactive media guidance features. In some embodiments, control circuitry 118 may be included as part of one of the devices of user equipment 110 such as, for example, part of display 112 or any other device (e.g., a set-top box, television and video player).
Control circuitry 118 may receive various individual preference values from, for example, various user profiles and compute a plurality of individual preference values relative to an asset. Each individual preference value is associated with a different viewer of a plurality of viewers. One way control circuitry 118 may compute the individual preference values is based on Euclidean distance. An illustrative Euclidean distance-based approach is described in U.S. patent application Ser. No. 11/324,147, filed Dec. 29, 2005, incorporated by reference herein in its entirety.
Control circuitry 118 may compute a group preference value relative to the asset as a function of the plurality of individual preference values. The function may be a sum of the individual preference values. For example, if a one viewer's preference relative to a particular asset is computed to be 12 (based on the viewer's preference profile) and another viewer's preference relative to a particular asset is computed to be 2, then control circuitry 118 may compute the group preference value for the particular asset to be 14 (i.e., the sum of each individual preference value 12 and 2).
For example, the computation of individual and group preference values may be based on two viewer profiles which have the following preferences. Jack may be a viewer in a group with a preference for Sex equal to 7.8 and for Violence equal to 3. Jill may be a viewer in the same group as Jack and may have a preference for Sex equal to 4 and for Violence equal to 9. Control circuitry 118 may retrieve a particular asset (e.g., Family Guy) and the corresponding asset characteristics. For example, the asset characteristics of Family Guy may be Sex with a value of 6 and Violence with a value of 7.
Control circuitry 118 may compute each of the individual preference values and the group preference value for each viewer in the group using for example a Euclidean-based approach. In particular, for the viewer Jack, control circuitry may compute the Euclidean distance to be the square root of sum of the squares of the differences of Jack's preference values relative to the asset's characteristic values. Accordingly, Jack's individual preference value may be equal to √((7.8−6)2+(3−7)2)=4.38 and Jill's individual preference value may be equal to √((4−6)2+(9−7)2)=2.82. A lower individual preference value indicates that a user's preferences are closer to the characteristics of the asset under consideration and thus may represent a stronger match or greater relevance to the asset. Thus, it is apparent that the particular asset, Family Guy, is more relevant to Jill than it is to Jack based on the individual preference values. Additionally, as discussed above and below, the group preference value may be computed by computing the sums of the individual preference values which in this example would be equal to 7.2. In this example, the smaller the group preference value, the higher the group preference. A group preference value may be similarly computed for other assets. Control circuitry 118 may display the group preference values side-by-side (in the form of, for example, a bar line) with an appropriate asset designator (e.g., an asset title) allowing the viewers to determine which asset is most relevant to the group.
In some implementations, control circuitry 118 may perform an inverse computation on the individual preference value in order to make a larger value of the individual preference value represent a stronger match or greater relevance to the asset. Thus, when a user compares the individual preference values to the group preference value it becomes more intuitive to the user to view larger values as representing greater relevance. In particular, referring back to the above example, Jack's individual preference value may be 0.228 and Jill's individual preference value may be 0.354 while the group's preference value may be 0.582.
It should be understood that other types of functions may be performed on the individual preference values to compute a group preference value, such as, for example, finding a Euclidean distance between various individual preference values, determining a multidimensional group centroid or middleground based on the individual preference values and their location in preference space, a difference function, a logarithmic function, an averaging function, or any other suitable mathematical computation. Computing group preference values will be described in more detail in connection with FIGS. 7-9. Similarly, various scaling functions may be performed on the group preference values (and correspondingly the individual preference values) to better represent the group preference values to a user. For example, all group preference values may be logarithmically scaled to compress the dynamic range of the results into a more pleasing presentation to the user.
User equipment 110 may include a storage device 116 such as, for example, memory or hard-drive (e.g., digital video recorder). Only one such storage device is shown to avoid overcrowding the figure, though it should be understood that additional storage devices may be used as desired. Storage device 116 may store data (e.g., playlists) and media (e.g., recorded assets). In another embodiment (not shown) user equipment 110 may be able to access a storage device located at a remote site and store data and/or media at that remote storage device. Such a remote storage device may be referred to herein as a networked storage device or a networked digital video recorder.
In some embodiments, the interactive media guidance application may provide features to the user with a client/server approach. For example, data pertaining to preference profiles or user preferences may be provided to the server, which may store the data from the client. When the client generates a group or individual preference value, it may retrieve the user preference profiles from the server, or alternatively, the client may order the elements (i.e., individual preferences pertaining to an asset) of a user preference profile retrieved from the server. There may be one server for each instance of user equipment 110, one for multiple instances of user equipment 110, or a single server may serve as a proxy for each instance of user equipment 110.
Any suitable number of users may have equipment, such as user equipment 110, connected to media source 120 and data source 124. But for clarity of illustration, the equipment of only a single user is shown. The equipment of the plurality of users may be connected to media source 120 and data source 124 using a cable television network, a local area network (LAN), a wireless network, or any other suitable means. In some embodiments, multiple instances of user equipment 110 may be connected or networked to each other using any suitable means (e.g., within a household using a LAN, potentially using the Multimedia Over Coax (MoCA) standard or between households using a WAN over DOCSIS network).
User equipment 110 may receive interactive media guidance application data from one or more data sources 124. Data sources 124 may provide data for a particular type of content or for a particular application. For example, one data source 124 may provide data for non-on-demand assets (e.g., non-pay and pay-per-view programs), and another may provide data for on-demand assets (e.g., VOD programs). Or, for example, a single data source may provide both of these types of data. For example, one data source 124 may provide data for an interactive television program guide. Another data source 124 may provide data for asset characteristics used in computing individual and group preference values relative to the asset. Another data source 124 may, for example, provide data for another interactive application (e.g., a home shopping application). In some embodiments, data sources 124 may provide data to the interactive media guidance application using a client/server approach. There may be one server per data source, one for all sources or, in some embodiments, a single server may communicate as a proxy between user equipment 110 and various data sources 124. In some embodiments, data sources 124 may provide data as an online interactive media guidance application. In such embodiments, data source 124 may include control circuitry for executing the instructions of the online media guidance application.
FIG. 1 shows media source 120 and data sources 124 as separate elements. In practice, their functionality may be combined and provided from a single system at a single facility, or multiple systems at multiple facilities. For example, one media source 120 and data source 124 may be combined to provide VOD content and associated VOD data.
For the purposes of clarity, the following discussion may sometimes describe an embodiment in which the interactive media guidance application is an interactive program guide. It will be understood, however, that the following discussion and the features discussed may be applied to any interactive media guidance application including online or Internet based media guidance applications.
FIG. 2 shows an illustrative group viewer selection screen 200 for computing a group preference value in accordance with an embodiment of the present invention. Group viewer selection screen 200 includes profile selection 210, asset characteristics selection 220, new profile option 250, profile import option 260, profile edit option 270 and search assets option 280.
Group viewer selection screen 200 allows a user to select a group of users who wish to jointly view assets. For example, a user may define which members of a family wish to watch a television program together on a given night. The system may retrieve each of the selected user's preferences and apply them to a various assets to find or rank the assets according to their relevance to the selected group.
In some embodiments, the system may display the highest ranked or most relevant assets to the group. The display may include indicators that allow each viewer to determine the particular asset's relevance to the viewer relative to the rest of the group. In this way, the invention helps a group choose assets that best match the user preferences of each viewer in the group.
The Select Profiles section of the display 210 may include a list of viewers for which preferences have been defined. In some embodiments, the preferences are defined for different viewers and stored in preference profiles. Each preference profile is unique to a particular viewer and has preferences associated with asset characteristics for that viewer. Preference profiles and their creation will be discussed in more detail below in connection with FIG. 3.
An icon 212 or 216 may be displayed to identify a particular viewer for which the system has preferences defined. Icon 212 may be an image 212, a movie 216, a clip, an animation, a drawing, or any other identifier unique to a particular viewer. For example, a viewer, for example, Stewie, for which the system has preferences defined may be identified using a previously selected icon such as a clip from the show Family Guy. Accordingly, a user may identify the members of a group by referring to their respective icons and disregarding their name.
A radio button 214 may be provided to add a particular viewer to the group of viewers. A cursor 240 may be used to select radio button 214 that corresponds to a viewer which is to be added to the group or a user may use arrow keys and an OK button or any appropriate means to highlight and select appropriate options from the screen (e.g., by way of a touch screen or a remote control). For example, as shown in group viewer selection screen 200 the members or viewers selected for the group are Stewie and Lauren as evidenced by the filled radio button 214.
A scroll bar 218 may be provided to show additional viewers which have preferences defined in the system. For example, if the screen 200 has space that limits the number of viewable viewer selections to three at a time (as shown in the illustrative screen), the user may scroll down or up to show other viewers which have preferences defined. In some embodiments, the viewer selection may be provided in a separate screen to allow more viewers and their respective icons to be shown. For example, the viewer icons may be displayed in a matrix or list fashion allowing simple selection of multiple viewers to add to a group. This may make it unnecessary to provide scroll bar 218 as all or most potential viewers can be selected in one screen.
The viewers or profiles which are selected to be part of the group for which assets will be ranked may be shown in a portion of the screen identified as selected profiles 230. For example, when the profiles for viewers Stewie and Lauren are selected, their respective icons 212 may be displayed in selected profiles 230 portion of the screen. Profiles or their icons which appear in selected profiles 230 portion of the screen may be selected using cursor 240 to delete or remove them from the group in case a user changes his or her mind about which members should belong to the group. Additionally, profiles or their icons which appear in selected profiles 230 portion of the screen may be selected using cursor 240 and moved around to change the order in which they appear.
In some embodiments, changing the order in which profiles appear in selected profiles 230 portion of the screen may also affect the priority that is assigned to the particular profile. Priority of a user profile may be used in the ranking computation to place one user's preferences ahead of another. For example, if one user has a low preference for violence but another user with a higher priority has a high preference for violence, the system may nevertheless rank an asset with high violence characteristic as being relevant to the group because of the user's high priority designation. Whereas, if both users have the same priority designation the system may rank an asset with high violence as having little or no relevance because the two user preferences for violence are in conflict. Priority designations will be described in more detail below in connection with FIG. 3.
Group viewer selection screen 200 also includes asset characteristic selection 220. In order to search for assets with more focus, a user may define one or more characteristics which must be present in the asset for it to be relevant. For example, the selected group may desire to only access assets that are Comedies or Documentaries, all other assets being irrelevant. Accordingly, the user may use scroll bar 222 to find the Genre asset characteristic in order for the Genre options to appear. Once Genre 224 is found (using scroll bar 222), a list of asset characteristics options may be presented. Each asset characteristics option may have an associated radio button 226 to allow a user to select or deselect the option as a must have asset characteristic.
For example, when the user selects the radio button 226 associated with Comedy, Sports or Documentary, only those assets which belong to one of those Genres will be searched for and ranked as relevant to the group of viewers. Within each of those assets having the selected asset characteristics, there are other asset characteristics, such as, violence and sex, that may be compared with the selected group of viewer's preferences in order to rank their relevance to the group. An option to have assets that belong to any Genre asset characteristic searched for may also be provided.
In some embodiments, the system may perform a preliminary search through the selected group preference profiles to determine whether a selected asset characteristic 220 will provide any matches. If no matches are found, the system may display a warning to the user in the form of a pop-up window indicating that no matches will be found. For example, if all of the preference profiles in the selected group include a low preference for a Drama Genre and the user selects Drama as a must have asset characteristic, the system may determine that the assets will be relevant to none of the viewers in the selected group and provide a warning to the user before the search for assets option 280 is selected.
A new user profile creation option 250 may also be provided to add a new user profile to the system. Upon creating a new profile, the newly created profile will be selectable as one of the profiles listed in profile selection 210. The newly created profile may then be added to the group of viewers for which assets are ranked by the system. Selection of the new profile creation option 250 may navigate the user to a new screen like the one shown in FIG. 3. Creation of a new profile will be discussed in more detail below in connection with FIG. 3.
An import profile option 260 may also be provided to add a new profile to the system from a remote source. Upon importing a new profile, the imported profile will be selectable as one of the profiles listed in profile selection 210. The imported profile may then be added to the group of viewers for which assets are ranked by the system. Selection of the import profile option 260 may navigate the user to a new screen like the one shown in FIG. 4. Importing a profile will be discussed in more detail below in connection with FIG. 4.
Users may choose to import profiles using option 260 when they want to add viewers to a group who either are not members of the household (e.g., visiting guests) or that have not previously used the local user equipment (e.g., new members of the household). For example, a family having each of its members' preferences stored in profiles on the system may invite a friend to access an asset. The friend might not have a profile stored on the family's system but may actually have a profile online or at some other remote source. Accordingly, instead of recreating the friend's profile on the family's system, the import profile option 260 may be selected and the remote location storing the friend's profile may be accessed to retrieve the friend's preferences. A search for assets that match this group (i.e., the family and the invited friend) may then be performed to rank assets relevant to this group. In some embodiments, groups of individuals' profiles can be stored for future retrieval, along with any group concessions (e.g., a group may carry a group override or concession on one member's hard limit against viewing any programs with ratings greater than PG-13).
A view/edit selected profiles option 270 may be provided to modify preferences stored in the preference profiles. Selection of the view/edit selected profiles option 270 may bring up a screen similar to the one shown in FIG. 3 allowing one or more viewers to view or modify preferences which are stored in their respective profiles. If a selected profile is one that is imported from a remote source, the imported profile may also be viewed or modified and the modifications may be stored to the locally stored profile, the profile stored on the remote source or both. In some embodiments, local and remote profiles may be searched for inclusion in a group. For example, in large families or communal living situations, the system may be used to provide recommendations of groups of individuals that would likely enjoy watching programs together and optionally suggest content. In particular, the system may search multiple preference profiles that are associated with viewers in the system to identify two or more profiles that have two or more asset characteristic values that are within a similarity threshold of each other (e.g., based on their individual preference values). The system may provide a recommendation to form a group of viewers that are associated with the identified profiles. Other such options, such as consolidating profiles across systems and maintaining different profiles for different contexts and other profile update/modification techniques should also be considered within the scope of the present invention as would be understood by one skilled in the art.
After the group has been defined and all the profiles that belong to the group are selected, the user may instruct the system to search and rank assets that match the group preferences. Selection of the search for assets option 280 instructs the system to perform the computations and display the results. An exemplary display of the ranked results is shown in FIGS. 7-9. The display may include indicators that simultaneously indicate to the viewers in the group each individual viewer's level of interest (i.e., preference value) in each asset as well as the group's overall level of interest (i.e., preference value) in each asset. The display of the results will be discussed in more detail below in connection with FIGS. 7-9.
A user may store their preferences relative to asset characteristics in a preference profile. In some embodiments, the user may be presented with an equalizer that allows the user to adjust various preferences depending on what the user likes/dislikes. The preferences are then stored in a preference profile and used to compute the user's preference value for a particular asset.
FIG. 3 shows an illustrative user preference equalizer 300 for storing user preferences in a preference profile in accordance with an embodiment of the present invention. Preference equalizer 300 includes a user name field 310, icon 216, asset characteristics preferences 350, user priority designation field 340, a save option 360 and an escape option 370.
The name that appears in user name field 310 is the name of the user with which the particular preferences are associated. The drop down selector for name field 310 may include all the names of the profiles selected in profile selection 210 (FIG. 2). A user may select the drop-down option to view or select an equalizer or preferences for a different viewer. Upon importing a preference profile, that imported profile may also be included as an option to view in the name field 310. A profile that is imported may be shown with an indicator informing a user that the profile has been received from a remote source. Thus, when modifications are made the user may choose to either save those modifications only locally, remotely or to both locations.
Icon 216 may be associated with the particular viewer for which the preferences are shown and may be displayed. A user may change the icon that is associated with the viewer by selected the upload image/movie option 312. Selection of this option may either present to the user a variety of other icons which the user may select as their unique identifier or may request the user to specify a path from which to upload the icon information. The icon information may be uploaded from an external source such as the Internet, a Bluetooth device, a Blackberry source, an external computer, a video game controller (e.g., the Wii controller) or any other device that can provide image, video, or animation information.
A preference profile that is no longer necessary or should be removed from a group may be deleted using delete option 320. Selection of delete option 320 removes the viewer from the group and optionally deletes all of that viewer's preferences from the system. If the viewer's profile was received from a remote source the system may ask the user whether the profile should be deleted only locally, from the remote source or both.
The asset characteristics preferences 350 displayed in equalizer 300 may correspond to a particular Genre selected in Genre field 330 if the optional genre only radio button 353 is selected under a particular equalizer, otherwise, the equalizer setting will be applied broadly across all genres. In particular, the user may define different asset characteristics preferences 350 depending on the type of Genre. For example, the user may have a high tolerance for violence if the Genre is SciFi but may specify a lower tolerance for a Genre of Comedy. Accordingly, when the system computes the individual's preference value for a particular asset, the system determines the genre of the asset and retrieves the user's preferences from the preference profile relating to the asset's genre.
Each scroll bar 354 in asset characteristics preferences 350 corresponds to a different asset characteristic. The user may adjust each asset preference characteristic by raising or lowering the scroll bar values which are represented in preference characteristic value field 352. In some aspects of the invention, a higher preference characteristic value represents a higher tolerance for that asset's characteristic. In other aspects of the invention, a lower preference characteristic value represents a higher tolerance for that asset's characteristic.
The user may scroll left or right using scroll bar 351 to view other asset characteristics preferences 350 which are not in the display. In particular, due to screen size constraints, some asset characteristics preferences may be displayed while others are hidden. Scrolling left or right may reveal the hidden asset characteristics preferences.
Within each asset characteristics preference 350 the user may also set hard limits 356. For example, as shown in equalizer 300, the user has set a hard limit value equal to six for the language asset characteristics preference. The hard limit designation informs the system that where a particular asset's characteristic exceeds the corresponding preference characteristic hard limit value, that asset should either be flagged or removed from ranking. For example, although the particular viewer's asset characteristics preference value for language is set at the value 2.9, an asset having a corresponding language characteristic of 4 may still appear in the ranking but may be ranked lower for this particular viewer. Thus, the asset may still appear in a group ranking (although ranked low) for a group containing that viewer even though it has a characteristic value which exceeds the viewer's characteristic value. However, if the asset would have a characteristic value which exceeds the viewer's hard limit value for that asset the system may not present the asset in an associated group ranking at all. Alternatively, the system may nevertheless present the asset but may indicate that a hard limit value was exceeded using an indicator. Alerts such as these indicators which inform the users that a hard limit value was exceeded will be described in more detail below in connection with FIGS. 7-9.
Similarly, the user may select a parental control option 359 to inform the system that when an asset has a parent control characteristic present, then the asset should either be excluded from the rankings or flagged as exceeding a particular viewer's preference characteristics. The decision to either exclude from the rankings or provide an alert may be made by determining the viewer's priority designation set in field 340. For example, if the user has a high priority level then the system may exclude from ranking the asset having characteristics which exceed a hard limit value or which have a parental control setting enabled. This is because the system determines that it is more important to satisfy the particular viewer's interests having a high ranking than another viewer which has a lower ranking. Alternatively, if the viewer has a low priority designation and an asset has a characteristic which exceeds a hard limit value of the viewer, then the system may nevertheless rank the asset but may present an indictor in the form of an alert to inform the users that a hard limit value was exceeded.
A user may also define a custom asset characteristics preference rating as indicated by custom rating indicator 358. For example, if the system does not have an asset characteristics preference equalizer previously defined for a particular asset characteristic but a particular asset characteristic is present in one or more assets, the user may create an asset characteristics preference equalizer and provide values for that preference. The system may perform computations using the custom defined asset characteristics preference value.
Each of the values defined in the asset characteristics preferences 350 may be stored in a vector form. The system may perform vector computations to compute individual and group preference values for various assets.
The user may also select escape option 370 to return to a previous screen. For example, selecting escape option 370 may return the user to the group viewing menu screen 200 (FIG. 2) to allow the user to add or remove users from a group. From group viewing menu screen 200 the user may instruct the system to rank assets relative to the selected group based on the modifications made to the various viewer preference profiles in equalizer screen 300.
After the user has finished adjusting the various settings for the selected viewer 310, the user may select the save option 360 to store the asset preference characteristics to a memory. For example, after selecting save option 360 the system may either create or modify a preference profile data structure that includes the various viewer preference characteristics. An exemplary preference profile data structure 500 is shown in FIG. 5.
In some embodiments, control circuitry 118 may automatically create or adjust settings for one or more preference profiles. For example, a viewer may select his or her profile at the start of a viewing experience. Control circuitry 118 may monitor the viewing experience for a predetermined time (e.g., until the viewer turns off the monitoring) and, based on what the viewer does, adjust preference settings in the viewer's profile automatically based on assets viewed.
Preference profile data structure 500 may have fields that correspond to the various settings and adjustments that can be made in equalizer 300. In particular, preference profile data structure 500 may include a name field 510, an icon field 520, a genre field 530, an asset preference characteristic field 532 and a hard limit field 534. Each of the fields may store the value that corresponds to the user modified preference. In some embodiments, it may be easier for advanced users to manually enter or modify values in preference profile data structure 500 instead of loading equalizer 300. The system retrieves preference profile data structure 500 for each selected viewer in the group and computes a preference value for a particular asset for each of the viewers depending on the values present in the preference profile data structure 500.
For example, the system may retrieve an asset characteristics data structure from memory, which may be local in user equipment device 110 or remote in media source 120, and compare the values stored in the asset characteristics data structure with those of the preference profile data structure 500, which may be local in user equipment device 110 or remote in media source 120, that corresponds to each viewer in the group.
FIG. 6 shows an illustrative asset characteristics data structure 600 in accordance with an embodiment of the present invention. Asset characteristics data structure 600 may include fields that define characteristics of the particular asset. Asset characteristics data structure 600 may include a title field 610, a duration field 620, a genre field 640, and a sex value field 630.
The system retrieves asset characteristics data structure 600 and compares the values stored in each field with the corresponding preference characteristics stored in each viewer's preference profile data structure. In some implementations, the control circuitry 118 (FIG. 1) may perform a sum of each characteristic stored in asset characteristics data structure 600 with the corresponding preference characteristic stored in each viewer's preference data structure. In some other implementations, the control circuitry 118 may compute a Euclidean distance between the location of each program's characteristics relative to the location of a viewer's corresponding characteristics preference value in an n-dimensional space where the value for n is the number of characteristics which are being computed. The control circuitry 118 may then compute the vector sum for each individual and thereby arrive at the individual's preference value for that asset. In such implementations, the higher the individual's preference value for an asset, the greater relevance the asset has to that user.
The control circuitry 118 may then perform a function on all of the viewer's individual preference values to compute a preference value for the group. In some implementations, the function the control circuitry 118 performs is a sum of all of the individual preference values to arrive at a group preference value. In some other implementations, a multidimensional group centroid or group middleground is computed for the viewers in the group based on their individual preference values and its location in preference space. The Euclidean distance from this point to a program is then computed to determine a rank for the particular asset.
The control circuitry 118 compares and computes the individual and group preference values for each asset in the selected genres. The control circuitry 118 may sort the assets according to their relevance to the group of viewers and may identify to the viewers the asset having the greatest relevance relative to the ones with the least relevance. One way the control circuitry 118 identifies the relevance of the assets to the group may be by displaying the assets in order of relevance where the asset most relevant to the group is displayed first and the remaining assets are listed below the most relevant asset in order of decreased relevance to the group. The control circuitry 118 may alternatively represent the most relevant assets with a brighter color identifier and use darker colors for assets have less relevance to the group.
As discussed above in connection with FIG. 2, a user may select import profile option 260 to retrieve a viewer preference profile from a remote source which may be media source 120 (FIG. 1). The profile received from the remote source may be added to the group of viewers. FIG. 4 shows an illustrative screen 400 for importing user preferences from a remote source in accordance with an embodiment of the present invention.
Import profile screen 400 includes options 410 to retrieve a saved preference profile from a saved remote source and options 420 to add a preference profile remote source to the system. A remote source that was previously used to retrieve a preference profile may be identified by name. For example, a drop-down menu 412 may be provided allowing the user to select a previously used remote source. In particular, a preference profile may have previously been retrieved from a remote source such as a remote computer and that source may be named “Dad's computer.” The user may select this previously used source from the drop-down menu 412 and be able to select other preference profiles available through that remote source.
A preference profile selection drop-down menu 414 may be provided allowing the user to import a preference profile from the source identified by drop-down menu 412. In particular, once the user selects a particular remote source from drop-down menu 412, the control circuitry 118 may automatically communicate with the selected remote source and retrieve a list of preference profiles that are available through that remote source. This list is compiled and made available for selection using reference profile selection drop-down menu 414. Upon selection of the import profile option 416, the system retrieves the preference profile data structure from remote source identified by drop-down menu 412 corresponding to the profile identified by drop-down menu 414. The preference profile data structure is stored locally on the user equipment device 110 and made available for selection into the group through group viewer selection screen 200.
If a particular remote source is not available for selection through drop-down menu 412, the user may add a remote source through options 420. For example, if a new friend arrives at a household, that friend's preference profiles may only be available from a remote source (i.e., the remote source corresponding to the friend's system). Accordingly, the household system may have to be configured with the remote source information associated with the new friend in order to retrieve the friend's preference profile.
Remote source configuration options 420 may include a unique identifier input field 422. Unique identifier input field 422 may represent the unique location of the remote source. The control circuitry 118 may use the information that is input into unique identifier input field 422 to find and communicate with the appropriate remote source. For example, unique identifier input field 422 may correspond to an IP address of a remote computer, a web site name or address, a unique set-top box identifier, computer name, or any other remote system location identification information. It should be understood that unique identifier input field 422 may include multiple fields depending on the type of unique identifier needed to reach a particular remote source. In some implementations when the unique ID field 422 is a web site name, the control circuitry 118 may run a search engine through the Internet (e.g., using Google's search engine) to find the IP address or web site address of the specified web site name. The control circuitry 118 may present a variety of hits associated with the web site name for user selection. The control circuitry 118 may then communicate with a user selected matching web site hit to retrieve preference profiles from that remote source.
A remote source identified by unique identifier input field 422 may require login information in order to provide access to the preference profiles stored on the remote source. Accordingly, the user may specify a username and/or password in fields 424 to enable the system to access preference profiles stored on the remote source. The user may also select a particular network that corresponds to the unique identifier input field 422 through drop-down menu 426. For example, if the remote source is another set-top box or computer inside of the household, the unique identifier may be the computer name that contains the preference profiles and the network may be the local home network where the local system resides. The control circuitry 118 may limit its search for the remote source identified by unique identifier input field 422 to the remote sources present on the network identified by field 426.
The user may select the get profiles option 428 to instruct the control circuitry 118 to search or communicate with the remote source identified by unique identifier input field 422. Once the remote source is found, the control circuitry 118 may retrieve the preference profile information from that remote source and allow the user to select one or more of the preference profiles. The selected preference profiles may then be received by the local system (e.g., user equipment device 110) and the user may add the selected profiles to the group. In some embodiments, once the remote source is found and successfully communicated with, the control circuitry 118 may automatically add that source to the saved remote sources list. The control circuitry 118 may name that remote source and allow the user to select that source from drop-down menu 412. This may make it unnecessary for the user to input the remote source location information when the user desires to access or retrieve other preference profiles from that same remote source.
When the user is done importing preference profiles from the remote source, the user may select go back option 430 to return to the previous screen. For example, selection of go back option 430 may return the user to the group viewer selection screen 200.
After the control circuitry 118 computes the individual and group preference values for assets in the selected genre, a display is provided representing the individual preference values and the group preference value. This display allows the group of viewers to easily identify which assets would be most relevant for the group and why various assets are not as relevant.
FIG. 7 shows an illustrative display 700 in accordance with an embodiment of the present invention. Display 700 may include a list of assets 710, a relevance indicator 720 representing individual preference values and a group preference value for assets, group value indicator 740, alert indicators 730, unique individual viewer identifiers 750 and a suggest option 760.
List of assets 710 may be displayed in order in accordance with their relevance to the group of viewers. For example, an asset title 714 may appear at the top of the list of assets 710 indicating that it is more relevant to the group of viewers than the assets that appear below the asset title 714. In particular, asset title “Contact” which is associated with a movie asset is displayed at the top of the list of asset 710 indicating that it is the most relevant asset to the group that was found by the system. On the other hand, the asset title “Gladiator” which is associated with a movie asset is displayed at the bottom of the list of assets 710 indicating that it is least relevant to the group of viewers. When there are more assets ranked than can be provided in the display, a scroll bar 712 may be provided. The user may scroll down using scroll bar 712 to view assets that are ranked as being less relevant than the assets provided in the display. Alternatively, when viewing the least relevant asset in the list, the user may use scroll bar 712 to scroll up to view assets which are more relevant than the assets present in the display.
Although display 700 shows asset lists 710 on one side of the screen and the corresponding indicators 720 on the other, it should be understood that alternate display arrangements may be provided. For example, asset lists 710 may be excluded by including the title of the assets in list 710 within the indicator. This may enable control circuitry 118 to display indicators 720 without asset lists 710 and the same information will be conveyed to the user. This may be preferred in a mobile application context where the screen size is limited. Similarly, other portions of display 700 may be excluded or provided in other forms suitable for the user's device.
An indicator 720 may be provided adjacent each asset title in the list of asset 710 to visually indicate to the user the relevance of each asset to the group and to the individuals in the group. Indicator 720 may be in the form of a horizontal (or vertical) bar having a particular length that corresponds to the group preference value. The bar may be subdivided into sections 722, 724 and 726, each section indicating the relevance of the asset to the individuals in the group. In particular, each section of the bar may have an associated length that corresponds to an individual's preference value. The sum of the individual preference value may be equal to the value of the group preference value.
Each section 722, 724 or 726 may have a visual indicator that informs the user which viewer the particular section 722, 724 or 726 corresponds to. The visual indicator may be in the form of a color, a unique shade, a unique hash mark, or any other suitable unique visual indicator. A visual indicator map or key 750 may be provided to allow the user to match the indicator provided in section 722, 724 or 726 with the viewer profile in the group. For example, the identifier provided in section 722 may be diagonal lines and map 750 indicates that the diagonal lines are used to represent viewer Dad.
In some embodiments, the visual indicator in section 722, 724 or 726 may be the particular's viewers icon 212. For example, instead of coloring a particular section 722, 724 or 726 with a color unique to a particular viewer and matching that color by way of map 750, the viewer's icon 212 may be displayed within the viewer's respective horizontal bar section 722, 724 or 726. Since the viewers are readily familiar with their respective icons 212, each viewer can determine their individual preference value associated with the asset in list of assets 710, by finding their respective icon 212 displayed in a section of the indicator 720 and comparing their respective bar length section with the length of the entire bar. Alternatively, a numerical value may be provided alongside the icon 212 with each section 722, 724 or 726 indicating to each viewer that viewer's individual preference value for the asset.
Each viewer in the group can also compare their particular individual preference value for the most relevant asset with their individual preference value in a less relevant asset. The viewer may potentially use this information at a future time access a particular asset which may appear to be more relevant than other assets to the group but may be less relevant to the particular viewer than another asset in the list. Each viewer may use indicator 720 to compare the relevance of asset 714 to a particular individual viewer relative to other members of the group.
Displaying indicator 720 which corresponds to one asset side-by-side with another indicator 720 which corresponds to another asset may enable viewers in the group to visually identify one asset as being more relevant to the group and to the individuals within the group relative to another asset. For example, control circuitry 118 may identify a particular asset as being most relevant to the group of viewers even though the asset may have little or no relevance to a particular viewer in the group. In particular, if there are three viewers in the group and two of the viewers are Ultimate Fighting fanatics while a third of the viewers in the group has a dislike for Ultimate Fighting, control circuitry 118 may nevertheless indicate an Ultimate Fighting asset as being the most relevant to the group of three viewers. The viewers see the indicator 720 associated with the Ultimate Fighting asset as being longer (indicating more relevance) than other indicators associated with different assets. However, the indicator 720 associated with the Ultimate Fighting asset also contains information representing the small relevance of the asset to the third viewer (who does not like Ultimate Fighting) (i.e., the indicator portion 722 representing the third viewer's preference value).
The viewers may see another indicator 720 that may have a reduced relevance to the group of three viewers (i.e., indicator representing a lower group preference value) than the Ultimate Fighting asset but may have an increased relevance to the third viewer (who does not like Ultimate Fighting) (i.e., indicator portion representing a higher individual preference value). Accordingly, instead of blindly selecting for access the asset identified by control circuitry 118 mathematically as most relevant to the group (e.g., the Ultimate Fighting asset) but which has little relevance to the third viewer, the users may select for access an asset having lower overall relevance to the group but that has substantially increased relevance to the third viewer. This will accommodate all of the viewer's preferences and interests. In one or more embodiments, a lower threshold for preference may be set so that no asset will be displayed which does not meet a minimum preference level for all viewers or an identified subset of viewers. In some embodiments, this minimum preference level is not a determinant of whether the asset will be recommended but rather its ranking in the overall recommendations. In these embodiments, an asset that does not meet minimum preference thresholds for all users will be penalized in its overall ranking score and ranked accordingly with respect to other assets. In this way, an asset may be ranked higher based on its balanced appeal to all users than an asset that is ranked very highly but only relative to a subset of users. The system may display a best compromise indicator that identifies the asset that is ranked higher based on its balanced appeal to all users.
As an example, as shown in display 700, the asset entitled “Contact” has an indicator 720 representing the asset as being most relevant to the group because it is highly relevant to viewers Stewie and Lauren corresponding to the second and third indicator portions 724 and 726 and a low relevance to viewer Dad corresponding to the first indicator portion 722. The users may visually compare the first indicator 720 that is associated with “Contact” with a second indicator 720 associated with the asset entitled “Producers” and conclude that although the second indicator represents a lower group preference value than the first indicator, the second indicator portion corresponding to viewer Dad may represent a larger individual preference value for viewer Dad than viewer Dad's first indicator portion. Thus, the users may select to access “Producers” instead of “Contact” because it would lead to a more enjoyable experience to all of the viewers in the group and not just the majority (which would be the case for “Contact”).
A group preference value indicator 740 may be provided alongside the indicator 720. Group preference value indicator 740 may indicate the computed group preference value for the asset in the list of assets 710. The value provided by group preference value indicator 740 may correspond to the length of indicator 720. Accordingly, a longer bar may have a larger group preference value associated with it indicating greater relevance or in some implementations a smaller group preference value indicating greater relevance.
Alerts indicator 730 may be provided to alert the viewers that for one or more of the ranked assets, a hard limit, minimum preference threshold, or parental control, associated with one of the viewers in the group, has been exceeded. For example, although asset 714 entitled “Gladiator” has been ranked as being relevant to the group, an alert is provided alerting the viewers that the asset has asset characteristics that meets or exceeds a parental control limit setting 732 in one of the viewer preference profiles in the group. Additionally, hard limit value alert 734 associated with asset 714 entitled “Gladiator” indicates that the asset characteristic corresponding to language has exceeded a hard limit set in one of the viewer preference profiles. Additional alerts 730 may be provided if other hard limits in the preference profiles are exceeded. If there is lack of space available in the display screen, a scroll bar (not shown) may be provided to allow the user to scroll left or right to view other alerts 730 that have been detected. In some embodiments, at least a happy and a sad icon for each user or a happy or sad thumbnail photo for each viewer is stored and these are used to indicate visually the relevance of each asset to each of the users in the group. For example, in such embodiments, in addition to or alternatively to displayed asset indicator 720, an emotion depicting icon (or emoticon) for each user may be used. Other expressions may include ambivalence, confusion, or anger (e.g., which may be used if a limit is exceeded).
The user may position cursor 240 over the particular alert 730 to view which viewer (and viewer preference characteristic) has a preference characteristic that has been exceeded. For example, as shown in FIG. 8, the user has positioned the cursor over the language alert 734 that has been indicated for asset entitled “Producers.” In response to a user selection of that alert (or alternatively automatically as the cursor is positioned over the alert), a pop-up window 800 may be displayed. Pop-up window 800 may include information about which viewer's preference characteristic has been exceeded. For example, pop-up window 800 may display the viewer's name (e.g., “Stewie”) and the characteristic (e.g., language) that has a hard limit value set that is exceeded. If multiple viewer's have the same characteristic with a hard limit value that is exceeded, each of those viewers' names or identifiers (e.g., icons 212) may also be displayed in the same pop-up window 800.
A view profiles option 780 may also be provided in display 700. Selection of view profiles option 780 navigates the user to equalizer 300 (FIG. 3). Equalizer 300 may include a list of all the viewers in the group and the user may see each viewer's preference characteristics. Selection of the escape option 370 (FIG. 3) may navigate the user back to display 700.
An edit profiles option 782 may also be provided in display 700. Selection of edit profiles option 782 navigates the user to equalizer 300 (FIG. 3). The user may modify one or more of the preference characteristics for the viewers in the group. In response to the modification, the system automatically re-computes all of the individual preference values for each of the assets in the list 710 and all of the group preference values for each of the assets in the list 710. The system may display a resorted and recomputed list of assets 710. The newly displayed list of assets 710 may be different from the previously displayed list that may have changed due to the modification of the preference characteristic in the preference profile.
A remove (or temporarily remove) profile from group option 770 may be provided in display 700. Selection of option 770 may prompt the user to select one or more profile to remove from the individual and group preference value computation and cause the system to update the asset indicators. For example, FIG. 9 shows an illustrative display 900 where the user has selected the option to remove the preference profile associated with viewer “Dad” from the asset recommendation computations.
Upon selection of the preference profiles to remove from the asset recommendations, the system updates the individual and group preference values. In particular, the asset lists presented in display 900 have indicators that are associated with the remaining members of the group (e.g., Stewie and Lauren). The indicators may represent the individual and group values in a similar manner as was discussed in connection with display 700. In particular, the indicators may have sections that correspond to each individual viewer of the group. Each section may represent the value for each viewer by way of a particular color, shade, icon or other suitable form.
As shown in display 900, an asset that was ranked as having little or no relevance to the group when the group had three members in display 700 now appears as being relevant. In particular, the asset entitled “Braveheart” which was excluded from the display provided when group member “Dad” was included in the group is now ranked as relevant to the group in which “Dad” is not a member. This asset may have previously been excluded because it either exceeded some preference characteristics that the preference profile associated with member “Dad” included.
For example, the preference profile for member “Dad” may have had a higher priority designation than the other members of the group. Accordingly, because of the priority designation the system may have excluded assets that don't match this particular member's preference but that do match other members' preferences in the group.
Additionally, a different alert is provided for the group corresponding to the ratings characteristic. In particular, one of the two members of the group may have a preference characteristic for ratings having a hard limit which the asset exceeds. Accordingly, the system displays an alert that corresponds to that particular characteristic for the asset which has an asset characteristic that exceeds the hard limit set in the viewer's preference profile. In general, in some embodiments, assets that exceed hard limits or violate one or more viewers' parental control settings, or which fall below a minimum acceptable preference threshold may have their overall ranking score penalized for this violation resulting in a different placement in the ranked recommendations list.
Referring back to FIG. 7, an add profile to group option 772 may also be provided in display 700. Selection of option 772 may prompt the user to select a new profile to add to the group and the system may re-compute the asset recommendations taking into account the newly added viewer's preference profile characteristics. The system may provide a display having a new list of assets with indicators 720 which are associated with the new group. For example, if the previous group had three members and one member was added using option 772, the system will search and compute the individual and group preference values for the four member group. The indicators will have four sections, one for each member of the group, instead of the previous three sections. The group total preference value indicator may also correspond to a larger value since more members are present in the group.
A create group profile option 774 may also be provided in display 700. Selection of option 774 may create a preference profile based on all of the preferences of the members in the group. Accordingly, at a future time, instead of manually having to select various members to add to a group and then perform a search for assets to recommend, the user may simply select a group profile and perform a search based on the selected group profile. In some embodiments, the group profile may have a name and icon associated with it to represent all the members in the group.
In some implementations, the system may simply create a named group link to each of the preference profiles in the group. Upon selection of the group link, the system may automatically add all of the members' preference profiles that are linked to a group in order to perform a search for assets to recommend. This automates the preference profile selection aspect and makes asset recommendations more efficient.
In some embodiments, the group profile may be stored to a remote source or location. Thus, when the group of viewers is located at a different place, they can simultaneously retrieve all of the preferences by selecting to import the group profile. For example, a group of friends may thereby access assets together at different locations at different times. In particular, each time the particular group of friends wishes to have assets recommended, they simply have to import their group profile from the remote source irrespective of their present location.
When the group preference profile is retrieved, it can be modified using equalizer 300 (FIG. 3) in a manner that is similar to the way that individual preference profiles can be modified. In some embodiments, multiple groups each having their own group preference profile may join together to access assets. Accordingly, a group may be formed, as discussed above in connection with FIG. 2, by using profile selection 210 (FIG. 2) and selecting the distinct group preference profiles. The group preference profiles account for the preferences of all of the individuals in each of the distinct groups. The system may then provide asset recommendations based on the preferences of the multiple group profiles that are selected for the group. Such a tool may be useful for a family such as the Brady bunch which may have three distinct group profiles defined, one for the three girls, one for the three boys, and one for the parents and Alice. When the entire family wishes to watch a program together, they may combine the profiles together.
Referring back to FIG. 7, a suggest option 760 may be provided. Selection of suggest option 760 may instruct the system to pick the asset most relevant to the group. In some embodiments, the system selects for access the first asset listed in the asset list 710 in response to selection of suggest option 760. This is because the assets may be listed in order of relevance with the first asset being the most relevant. In other embodiments, if the first asset has an alert associated with it but is ranked as most relevant, the system may select for access the next most relevant asset that does not have an alert in response to receiving a selection of suggest option 760. In other embodiments, the system may pick an asset that provides the most balanced appeal to all or a subset of the viewers in a group.
The system may display the title of the asset selected in response to the suggest option 760. Alternatively, the system may play a short clip associated with the asset allowing the users to view a preview in response to selection of suggest option 760. Alternatively, the system may automatically purchase (e.g., by placing an order with the appropriate entity) the most relevant asset in response to receiving a selection of suggest option 760.
FIG. 10 illustrates a method 1000 of generating a display representing individual and group preference values in accordance with an embodiment of the present invention. At step 1010, a plurality of first individual preference values are computed relative to a first asset. Each first individual preference value is associated with a different viewer of the plurality of viewers.
For example, FIG. 5 shows preference profile data structure 500 that contains preferences for a particular viewer that may be selected to be part of a group of viewers. Control circuitry 118 (FIG. 1) retrieves these preferences and computes a preference value associated with the viewer to which the preference profile corresponds by, for example, computing the Euclidean distance between the viewer's preferences and characteristics of an asset. The asset characteristics may be retrieved by control circuitry 118 from asset characteristics data structure 600 (FIG. 6). Control circuitry 118 may perform these individual preference value computations for each viewer that is selected to be part of the group. The individual preference value for each viewer in the group may be stored in a local or remote memory of the system.
At step 1020, a first group preference value is computed relative to the first asset as a function of the plurality of first individual preference values. For example, control circuitry 118 may perform a function based on the individual preference values for each viewer in the group and compute a group preference value. The function performed may be a sum, a difference (assuming the individual preference values were retained in vector form), a Euclidean distance, a multidimensional centroid or middleground, or any other suitable measure relative to a group. The group preference value may be stored in a local or remote memory of the system.
At step 1030, a display is generated representing at least the plurality of first individual preference values and the first group preference value. For example, control circuitry 118 (FIG. 1) may retrieve the individual and group preference values and generate a display that includes an indicator that indicates to the user both the individual preference values and group preference value for a particular asset.
FIG. 11 illustrates a method 1100 of computing a group preference value in accordance with an embodiment of the present invention. At step 1110, a plurality of characteristics of a first asset are retrieved from a memory. For example, control circuitry may retrieve asset characteristics from a memory that stores asset characteristics data structure 600 (FIG. 6).
At step 1120, preference profiles for a selected group of viewers are retrieved from a plurality of individual user preference profiles available within a system. For example, a user may select any number of viewer's profiles 210 to add to a particular group 230 (FIG. 2). Each profile may be identified by a particular name or icon associated with a particular viewer. The preference profiles may be retrieved from a remote source and added to the group. Each preference profile may be created or modified using equalizer 300 (FIG. 3).
At step 1130, one of the viewers in the group is selected for which to compute an individual preference value. For example, control circuitry 118 may identify a particular viewer that is part of the group and retrieve from a memory that viewer's preference profile data structure 500 (FIG. 5).
At step 1140, an individual preference value is computed for the selected viewer relative to the asset as a function of the viewer's profile preference data and the asset's characteristic values. For example, a vector individual preference value may be formed by considering the asset's characteristic values to be a point (or n-tuple) in an n-dimensional space and the individual viewer's profile data values to be another point (or n-tuple) in the same n-dimensional space and computing the vector by subtracting the second n-tuple from the first to form a difference vector. Alternatively, an absolute scalar individual preference value may be determined by computing the Euclidean distance between the point representing the selected viewer's preference values and the corresponding asset characteristics values by computing the square root of the sum of the squares of the differences between the preference values in each characteristic dimension (e.g., violence or sex) and their corresponding asset characteristics. For example, control circuitry 118 may perform a computation to determine the Euclidean distance between each one of the viewer's preferences stored in the viewer's preference profile data structure 500 and the its corresponding asset characteristic retrieved from asset characteristics data structure 600.
At step 1150, a determination is made as to whether individual preference values for every viewer in the group have been determined. For example, control circuitry 118 may determine whether all of the viewers that are in the group have individual preference values computed. If there are viewers for which the individual preference value has not been computed, the system selects another viewer in the group for which to compute an individual preference value at step 1160 otherwise the system performs step 1170.
At step 1170, a group preference value is computed for the group as a function of each individual preference value. For example, control circuitry 118 may perform a function based on the individual preference values for each viewer in the group and compute a group preference value. If the vector individual preference values were computed at step 1140, the function performed may be the absolute value of a vector sum of the individual preference values. Alternatively, if scalar individual preference values were computed at step 1140, then the function may be a scalar sum. Other computations may be substituted for the operations of steps 1140 and 1170 as would be appreciated by one skilled in the art, including but not limited to a multidimensional centroid, center of gravity, bounded centroiding with or without cutouts or exclusions, weighted distancing, morphed or curved space distancing, or middleground, or any other suitable measure relative to a group. The group preference value may be stored in a local or remote memory of the system.
At step 1180, an indicator is displayed that indicates both the individual preference values for each viewer in the group and the group preference value. For example, control circuitry 118 may generate display 700 (FIG. 7) that includes an indicator corresponding to an asset that indicates to a user both the individual preference values for each member of the group and the group preference value. Control circuitry 118 may also sort the assets displayed in display 700 according to their relevance to the group of viewers. The user may use the information contained in the indicator to select the asset most relevant to the group of viewers.
The above described embodiments of the present invention are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.

## Claims

1. A method for providing asset recommendations for a group of at least a first and a second viewer, the method comprising:
generating, using control circuitry, a display including identifiers for a plurality of assets
computing, using control circuitry for each asset in the display, at least two first individual preference values relative to each asset, each first individual preference value being associated with the at least first and second viewers, respectively, of the group of viewers;
computing, using the control circuitry for each asset in the display, a first group preference value relative to each asset as a function of the at least two first individual preference values; and
generating, using the control circuitry for inclusion in the display, a representation of the at least two first individual preference values and the first group preference value for each asset in the display, wherein the at least two first individual preference values are visually distinguished from the first group preference value, and wherein the representation of the at least two first individual preference values and the first group preference value includes a numerical value representing at least one of the first group preference value and the at least two individual preference values.

2. The method of claim 1 where in the function is a sum.

3. The method of claim 1 wherein each of the at least two first individual preference values is a vector individual preference value and the function comprises a sum of the at least two first individual preference values.

4. The method of claim 3, wherein the sum is a vector sum.

5. The method of claim 3, wherein each vector individual preference value for a viewer comprises a set of magnitudes, each magnitude corresponding to a difference between a characteristic value setting associated with the viewer and a characteristic value associated with each asset.

6. The method of claim 1 wherein the display includes a title of each asset.

7. The method of claim 1 further comprising:
displaying an equalizer for at least the first viewer, the equalizer displaying an initial asset characteristic value setting representing an initial preference relative to an asset characteristic for the first viewer; and
receiving a user input modifying the initial asset characteristic value setting of the equalizer to create a new asset characteristic value setting representing the first viewer's new preference relative to the asset characteristic.

8. The method of claim 7 wherein the asset characteristic is a genre, a theme, a duration, a title, a rating, a language, a parental control, or subject matter.

9. The method of claim 7 further comprising storing the new asset characteristic value setting in a preference profile for the first viewer.

10. The method of claim 9 wherein the first individual preference value associated with the first viewer is computed based on the stored new asset characteristic value setting in the preference profile for the first viewer.

11. The method of claim 1 further comprising:
searching a plurality of preference profiles to identify at least two preference profiles having one or more similar asset characteristic values; and
providing a recommendation to form a group that includes the identified at least two preference profiles.

12. The method of claim 11 further comprising provide an indication identifying at least one asset that is relevant to the group.

13. The method of claim 1 further comprising combining a plurality of preference profiles to form at least two subject matter specific groups, each subject matter specific group including at least two of the plurality of preference profiles, wherein:
a first plurality of assets having a first subject matter are identified as relevant to a first of the at least two subject matter specific groups, and
a second plurality of assets having a second subject matter different from the first subject matter are identified as relevant to a second of the at least two subject matter specific groups.

14. The method of claim 1 further comprising:
monitoring viewing behavior of at least the first viewer to determine the first viewer's preference relative to an asset characteristic; and
computing the first viewer's individual preference value relative to an asset based on the first viewer's monitored viewing behavior.

15. The method of claim 1 further comprising:
retrieving the first viewer's local preferences relative to a first asset characteristic from a first memory of a first user equipment device; and
receiving the first viewer's remote preferences relative to the first asset characteristic from an external source;
wherein the first viewer's first individual preference values are computed based on the local and remote viewer preferences relative to each asset.

16. The method of claim 15 wherein the external source is an Internet source or a second memory of a second user equipment device.

17. The method of claim 1, wherein the display comprises a best compromise identifier, the best compromise identifier identifying an asset from a list of assets that features a most balanced appeal to all viewers in the group.

18. The method of claim 1 wherein the computing the at least two first individual preference values comprises:
providing a weight adjustment for each viewer such that the weight adjustment indicates priority when computing the first individual preference values; and
modifying the computed preference values for viewers as a function of the weight adjustments.

19. The method of claim 1 wherein the display includes a viewer identifier that identifies each viewer represented by the at least two first individual preference values.

20. The method of claim 1 wherein the display includes a viewer identifier that identifies each viewer represented by the first group preference value.

21. The method of claim 20 wherein the viewer identifier comprises an image or video unique to each viewer represented.

22. The method of claim 20 wherein the viewer identifier comprises an emoticon that indicates an emotion for the viewer relative to a first asset.

23. The method of claim 1 wherein the display comprises a suggest option that identifies one of a plurality of assets that corresponds to a group preference value having the largest value.

24. The method of claim 1 further comprising a remove option that excludes from the first group preference value computation at least one of the at least two first individual preference values and adjusts the display to reflect a new group preference value computation.

25. The method of claim 1 wherein the display comprises an alert indicator that indicates that the first asset includes an asset characteristic that exceeds a particular viewer's preference range for that asset characteristic.

26. The method of claim 25 wherein the asset characteristic indicated by the alert indicator is a parental control setting, subject matter, a language, or a rating.

27. The method of claim 1 further comprising:
searching for a plurality of assets that are relevant to the group by computing group preference values for each of the plurality of assets;
determining whether a first minimum preference level is provided for one of the first and second viewers in the group;
identifying at least one of the plurality of assets that is relevant to the group and fails to meet the first minimum preference level.

28. The method of claim 27 further comprising:
ranking the relevance of each of the plurality of assets to the group, wherein the rank of the at least one of the plurality of assets that fails to meet the first minimum preference level is reduced; and
displaying some of the plurality of assets in accordance with the rank of the plurality of assets.

29. The method of claim 1, wherein the at least two first individual preference values represented in the display visually indicate a level of interest of the first and second viewers, respectively, in the first asset and the group preference value represented in the display visually indicates an overall level of interest of the group in the first asset.

30. A system for providing asset recommendations for a group of at least a first and a second viewer, the system comprising:
control circuitry configured to:
generate a display including identifiers for a plurality of assets;
compute, for each asset in the display, at least two first individual preference values relative to each asset, each first individual preference value being associated with the at least first and second viewers, respectively, of the group of viewers;
compute, for each asset in the display, a first group preference value relative to each asset as a function of the at least two first individual preference values; and
generate for inclusion in the display a representation of the at least two first individual preference values and the first group preference value for each asset in the display, wherein the at least two first individual preference values are visually distinguished from the first group preference value, and wherein the representation of the at least two first individual preference values and the first group preference value includes a numerical value representing at least one of the first group preference value and the at least two individual preference values.

31. The system of claim 30 where in the function is a sum.

32. The system of claim 30 wherein each of the at least two first individual preference values is a vector individual preference value and the function comprises a sum of the at least two first individual preference values.

33. The system of claim 32, wherein the sum is a vector sum.

34. The system of claim 32, wherein each vector individual preference for a viewer comprises a set of magnitudes, each magnitude corresponding to a difference between a characteristic value setting associated with the viewer and a characteristic value associated with each asset.

35. The system of claim 30 wherein the display includes a title of each asset.

36. The system of claim 30 further comprising:
a display that displays an equalizer for at least the first viewer, the equalizer displaying an initial asset characteristic value setting representing an initial preference relative to an asset characteristic for the first viewer; and
an input device for receiving a user input modifying the initial asset characteristic value setting of the equalizer to create a new asset characteristic value setting representing the first viewer's new preference relative to the asset characteristic.

37. The system of claim 36 wherein the asset characteristic is a genre, a theme, a duration, a title, a rating, a language, a parental control, or subject matter.

38. The system of claim 36 wherein the control circuitry is further configured to store the new asset characteristic value setting in a preference profile for the first viewer.

39. The system of claim 38 wherein the first individual preference value associated with the first viewer is computed based on the stored new asset characteristic value setting in the preference profile for the first viewer.

40. The system of claim 36 wherein the control circuitry is further configured to:
search a plurality of preference profiles to identify at least two preference profiles having one or more similar asset characteristic values; and
provide a recommendation to form a group that includes the identified at least two preference profiles.

41. The system of claim 40 wherein the control circuitry is further configured to provide an indication identifying at least one asset that is relevant to the group.

42. The system of claim 30 wherein the control circuitry is further configured to combine a plurality of preference profiles to form at least two subject matter specific groups, each subject matter specific group including at least two of the plurality of preference profiles, wherein:
a first plurality of assets having a first subject matter are identified as relevant to a first of the at least two subject matter specific groups, and
a second plurality of assets having a second subject matter different from the first subject matter are identified as relevant to a second of the at least two subject matter specific groups.

43. The system of claim 30 wherein the control circuitry is further configured to:
monitor viewing behavior of the first viewer to determine the first viewer's preference relative to an asset characteristic; and
compute the first viewer's individual preference value relative to an asset based on the first viewer's monitored viewing behavior.

44. The system of claim 30 wherein the control circuitry is further configured to:
retrieve the first viewer's local preferences relative to a first asset characteristic from a first memory of a first user equipment device; and
receive the first viewer's remote preferences relative to the first asset characteristic from an external source;
wherein the first viewer's first individual preference values are computed based on the local and remote viewer preferences relative to each asset.

45. The system of claim 44 wherein the external source is an Internet source or a second memory of a second user equipment device.

46. The system of claim 30, wherein the display comprises a best compromise identifier, the best compromise identifier identifying an asset from a list of assets that features a most balanced appeal to all viewers in the group.

47. The system of claim 30 wherein the control circuitry is further configured to:
provide a weight adjustment for each viewer such that the weight adjustment indicates priority when computing the first individual preference values; and
modify the computed preference values for viewers as a function of the weight adjustments.

48. The method of claim 30 wherein the display includes a viewer identifier that identifies each viewer represented by the at least two first individual preference values.

49. The method of claim 30 wherein the display includes a viewer identifier that identifies each viewer represented by the first group preference value.

50. The system of claim 49 wherein the viewer identifier comprises an image or video unique to the particular viewer.

51. The system of claim 49 wherein the viewer identifier comprises an emoticon that indicates an emotion for the viewer relative to the first asset.

52. The system of claim 30 wherein the display comprises a suggest option that identifies one of a plurality of assets that corresponds to a group preference value having the largest value.

53. The system of claim 30 further comprising a remove option that excludes from the first group preference value computation at least one of the at least two first individual preference values and adjusts the display to reflect a new group preference value computation.

54. The system of claim 30 wherein the display comprises an alert indicator that indicates that the first asset includes an asset characteristic that exceeds a particular viewer's preference range for that asset characteristic.

55. The system of claim 54 wherein the asset characteristic indicated by the alert indicator is a parental control setting, subject matter, a language, or a rating.

56. The system of claim 30 wherein the control circuitry is further configured to:
search for a plurality of assets that are relevant to the group by computing group preference values for each of the plurality of assets;
determine whether a first minimum preference level is provided for one of the at least first and second viewers in the group;
identify at least one of the plurality of assets that is relevant to the group and fails to meet the first minimum preference level.

57. The system of claim 56 wherein the control circuitry is further configured to:
rank the relevance of each of the plurality of assets to the group, wherein the rank of the at least one of the plurality of assets that fails to meet the first minimum preference level is reduced; and
display on a display some of the plurality of assets in accordance with the rank of the plurality of assets.

58. The system of claim 30, wherein the at least two first individual preference values represented in the display visually indicate a level of interest of the first and second viewers, respectively, in the first asset and the group preference value represented in the display visually indicates an overall level of interest of the group in the first asset.

59. A method for providing asset recommendations for a group of at least a first and a second viewer, the method comprising:
computing, using control circuitry, at least two first individual preference values relative to a first asset, each first individual preference value being associated with the at least first and second viewers, respectively, of the group of viewers;
computing, using the control circuitry, a first group preference value relative to the first asset as a function of the at least two first individual preference values; and
generating, using the control circuitry, a display representing the at least two first individual preference values and the first group preference value, wherein the display comprises a bar having a length, wherein the length represents the first group preference value, and wherein portions of the bar comprise varying lengths that represent each viewer's respective first individual preference value.

60. The method of claim 59 wherein the portions are contiguous and are differentiated from each other in at least color.

61. A system for providing asset recommendations for a group of at least a first and a second viewer, the system comprising:
control circuitry configured to:
compute at least two first individual preference values relative to a first asset, each first individual preference value being associated with the at least first and second viewers, respectively, of the group of viewers;
compute a first group preference value relative to the first asset as a function of the at least two first individual preference values; and
generate a display representing the at least two first individual preference values and the first group preference value, wherein the display comprises a bar having a length, wherein the length represents the first group preference value, and wherein portions of the bar comprise varying lengths that represent each viewer's respective first individual preference value.

62. The system of claim 61 wherein the portions are contiguous and are differentiated from each other in at least color.

63. A method for providing asset recommendations for a group of at least a first and a second viewer, the method comprising:
computing, using control circuitry, at least two first individual preference values relative to a first asset, each first individual preference value being associated with the at least first and second viewers, respectively, of the group of viewers;
computing, using the control circuitry, a first group preference value relative to the first asset as a function of the at least two first individual preference values; and
generating, using the control circuitry, a display representing the at least two first individual preference values and the first group preference value, wherein the display comprises a suggest option that identifies one of a plurality of assets that corresponds to a group preference value having the largest value, wherein the display comprises a bar having a length, wherein the length represents the first group preference value, and wherein the suggest option identifies the asset having a bar with the longest length.

64. A system for providing asset recommendations for a group of at least a first and a second viewer, the system comprising:
control circuitry configured to:
compute at least two first individual preference values relative to a first asset, each first individual preference value being associated with the at least first and second viewers, respectively, of the group of viewers;
compute a first group preference value relative to the first asset as a function of the at least two first individual preference values; and
generate a display representing the at least two first individual preference values and the first group preference value, wherein the display comprises a suggest option that identifies one of a plurality of assets that corresponds to a group preference value having the largest value and the display comprises a bar having a length, wherein the length represents the first group preference value, and wherein the suggest option identifies the asset having a bar with the longest length.