This invention is related generally to video recording, and more particularly to selective recording for digital video recorders using implicit correlation.
Digital video recorders (DVRs) have become increasingly popular for the flexibility and capabilities offered to users in selecting and then recording video content such as that provided by cable and satellite television service companies. DVRs, are consumer electronics devices that record television shows to a hard disk in digital format. Since being introduced in the late 1990s, DVRs have steadily developed complementary abilities, such as recording onto DVDs.
DVRs allow the “time shifting” feature (traditionally done by a video cassette recorder or VCR) to be performed more conveniently, and also allow for special recording capabilities such as pausing live TV, instant replay of interesting scenes, and skipping advertising.
DVRs were first marketed as standalone consumer electronic devices. Currently, many satellite and cable service providers are incorporating DVR functionality directly into their set-top-boxes (STBs). Service providers can thus readily implement features such as automatic hard disk space management whereby old recordings are deleted to make room for new ones; the maximum number of episodes to keep on weekly recordings may be specified; and, the maximum number of days or weeks to keep individual recordings may be set.
Users may program DVRs to record television programs run on specific channels and at specific times just as they would conventional analog video recorders such as VCRs. But in addition, DVRs may generally be programmed by the user to record preferred or desired programs by interacting with a programming interface that gives more choices to the user called an electronic program guide (EPG) or interactive program guide (IPG). Like printed television program guides, EPGs contain grids listing the available television programs.
Among other uses, EPGs make it easier for a user to select programming to be recorded on the DVR. For example, a user may want to record all episodes in a TV series. By interacting with, or downloading program information from an external database that provides EPG data (which is typically maintained by the service company), the DVR will then record the chosen programs without further interaction from the user. That is, the user need only to choose the program, for example by selecting the program title using the EPG. and the DVR will record the appropriate channel at the correct time by scanning EPG data as it becomes available.
A number of schemes are used to provide users with an opportunity to select video programming to be recorded on a DVR without requiring the user to review EPGs or other programming guides. For example, on some available DVR systems, users may rate shows to thereby indicate programs that the user likes or dislikes. Other systems may allow the user to create a user profile that includes preferred genres (e.g., action, science-fiction, westerns, romance etc.) actors, directors or age of the program (e.g., classic, contemporary) or other attributes. In both cases, such DVR systems look to match the preferences of the user with received program data, such as an EPG, to make recommendations or suggestions for programs to be recorded that the system predicts or estimates would be liked by the user.
In the examples noted above, users are given choices for recommended programs that can be recorded by the DVR in the future once the programs are broadcast. While providing users with more choices, such methods utilize attributes or properties (collectively “data”) that are explicitly associated with the programs such as user ratings or content-dependent data such as actors, director, genre, and production date. For such explicit data to be used by the system, users are required take affirmative steps to rate programs or create a preference profile which indicates, for example, favorite genres, actors, directors, etc.
Systems using specific user input including explicitly generated program ratings and user profiles are not ideal in all circumstances. For example, it has been noted that many users may be reluctant or unwilling to provide explicit ratings of shows that are recorded (for example, due to the time it takes to make the rating), or that the ratings provided do not accurately reflect the user's actual preferences. New and less mainstream shows (or programs like sporting events that are not generally shown in reruns) can suffer from the “cold start syndrome” where a lack of sufficient explicit rating data makes reliable and accurate predictions difficult. User's preferences can also change over time and both ratings and user profiles may become less valuable as prediction tools as they age over time. In addition, reliance on explicit data may tend to provide recommendations for programming that tends to be similar (for example, as they fit preferred genres in the user profile and may be highly rated within that genre). Consequently, a user may be provided with a long list of home improvements show, but a dissimilar science documentary or sports show—that would still be liked by a user but is outside the explicit user profile or not been viewed enough to be accurately rated—may be missed.
What is needed, then, is an approach to generating recommended programs for DVR recording that does not require explicit or content-dependent data to be collected from the user.
User recording logs 115 are preferentially arranged to track implicit data associated with the programs (and thus, if user recording log 115 are considered as a set, then the programs included in the log are considered to be members of the set). Implicit data, as used here, means that data which is inherently associated with a program. Implicit data at a minimum comprises data to uniquely identify the program such as title or unique program ID. In some applications, implicit data may also include information relating to running length (i.e., how long the program runs in time), service delivery data/attributes including time of day of broadcast, broadcast channel, or another inherent attribute that is not related to the content of the program, nor related to the popularity (i.e., user rating) of the program.
Implicit data is typically collected indirectly by a user's action when using a DVR. Thus, no affirmative steps need be taken by a user in order for the implicit data to be logged. For example (and as described in more detail below), implicit data may include the percentage of a program which is viewed by a user. Such implicit data is thereby created when the user stops the DVR and doesn't view the remainder of the recorded program.
Implicit data is defined to exclude explicit person-generated attributes of the program (such as feedback, rankings, ratings by users, critics or other sources, etc.) and also content-dependent attributes (such as genre, actors, director, date of production, etc.) which are neither utilized nor tracked in the illustrative arrangements described herein.
The definition of implicit data as used herein (and as compared with explicit attributes and content-dependent attributes) is further illustrated in
Database record 202 in
Database record 304 in
In some applications of selective recording using implicit correlation, only a program ID such as a program title or other unique identification (such as that provided by the Tribune Media Services) needs to be tracked in the user recording log. In such an example, as a user selects programs for recording on a DVR, the program ID is appended to the database log in a user recording log (e.g., user recording log 123 in
Returning back to
As shown in
While a variety of algorithms may be utilized, one particularly useful algorithm as used in this illustrative arrangement performs correlation through the correspondence of identical entries among the user recording logs. In this example, a pair of user recording logs have high correlation when a high number of programs ID are concurrently contained in each of the user recording log pair. And, a pair of user recording logs has low correlation when a low number of program IDs are concurrently contained in each of the user recording log pair. Thus, referring again to
A request for implicitly correlated program list is provided on line 136. In this example, the request is generated from a local client 134 using a user interface. Such an interface is typically interactive using a display and an input device so that a user may see selections and make choices. For example, many user interfaces are implemented using a EPG or similar guide that is displayed by the DVR or STB on a coupled television set. The user navigates menus using a remote control in most applications.
In the arrangement shown in
On line 152, the output of estimate similarity block 141 is a list of programs that are correlated to the input request on line 136. The list comprises programs that are contained in the most highly correlated user recording logs in which the selected program is a member. The list may be ranked ordered according to the correlation strength. The estimation of similarity among user recording logs is thus used to create a preference profile for the user. The rationale here is that a consensus of other users as to which programs are liked given that their recording logs have a significant overlap (i.e., correlation) among the programs that were chosen to be recorded on their DVRs. As these users also recorded the selected program, implicit correlation among their recording logs can accurately estimate the preferences of the user who picked the selected recording.
In some applications, a user's own recording log may be utilized in instances where higher correlation is required to increase the probability that list entries on line 152 will be liked by a user. In this case, a user recording log of a particular user (for example user recording log 130 in
Turning now to
One client 402 is shown in detail in
Within preference engine 410 is a database 412 or other memory that is configured to store an implicitly correlated program list that is downloaded from the master database 465 to clients 460. Preference engine 410 periodically receives EPG data updates over line 426 to thereby receive a schedule of upcoming programming. Preference engine 410 scans such incoming EPG data for matches to the implicitly correlated program list which is stored in database 412. When matches are identified, the matches are stored in matching list 414 which is disposed in preference engine 410 as indicated.
Preference engine 410 is coupled to database 415 which stores DVR programming parameters so that matches contained in the matching list 414 may be used to schedule the DVR to record the matched upcoming program at the appropriate time and channel. Such programming parameters are stored in database 415 until needed. At such time, the DVR operating commands are sent over line 452 to a DVR (not shown in
An example of implicit correlation follows. Two users—user A and user B—each record a number of programs that they plan to watch. User A's user recording log (e.g., 123 in
Similarly, user B's user recording log (e.g., 125 in
Tables 1 and 2 below identify the program ID data contained in the user recording logs of user A and user B, respectively. Note that only program IDs are tracked as implicit data in the user recording logs. The genres are identified in the tables are only for descriptive purposes in this example.
User recording logs from user A and user B may be received and stored on a master database (e.g. 465 in
Table 3 below is an illustrative user recording log of user C (and that is stored on the master database 465) which is relatively well correlated with the user recording log of user A as shown in Table 1. In this example, the user recording log of user C contains eight members that are the same as user A (program IDs 12, 23, 26, 06, 10, 98, 32 and 70) and four members that are different.
Continuing this example, after consulting with an EPG, user A decides to record a program being broadcast later in the day using user interface 134 (
The selected program having program ID 10 is compared against user recording logs 115 to identify those which contain it as a member. The more highly correlated user recording logs form the basis for populating the implicitly correlated program list (which is output on line 152 from estimate similarity block 141 in
In this example, the implicitly correlated program list would contain the four disparate programs from Table 3. These four programs (having program IDs of 31, 01, 04, 13) would form the basis for creating a preference profile to thus identify programs that are estimated to be liked by user A. The rationale here is that user A and user C have similar preferences since their respective user recording logs have a significant overlap among the programs that were chosen to be recorded on their DVRs. Therefore, the remaining programs on user C's recording log (that are not on user A's recording log) would likely be enjoyed by user A as well. Notably, this selective recording scheme enables the preferences of an entire community users to be considered without having to track, manipulate or store any data other than implicit data.
The four programs—two sports programs, a history and a game show program—could be presented for consideration user A in a variety of ways. For example, user A may be given an option through user interface 134 (
In this example, Table 3 represents a single user recording log. However, it is contemplated that a plurality of user recording logs are correlated against the user recording log represented by Table 1. In such cases, programs from more than one user recording log may used as entries on the program list 152. A rank order scheme may then be used where the program list is presented to user A with programs from logs which are more highly correlated with Table 1 being displayed on user interface 134 as more highly recommended than programs from logs which are less well correlated with Table 1. In addition, other implicit data including number of views, percents views (see e.g.,
Table 4 below is an illustrative user recording log of user D (and that is stored on the master database 465) which is relatively well correlated with the user recording log of user B as shown in Table 2. In this example, the user recording log of user D contains nine members that are the same as user A (program IDs 10, 31, 04, 01, 19, 96, 32, 63 and 41) and three members that are different.
Continuing this example, after consulting with an EPG, user E decides to record a program being broadcast later in the day using user interface 134 (
The selected program having program ID 31 is compared against user recording logs 115 to identify those which contain it as a member. The more highly correlated user recording logs form the basis for populating the implicitly correlated program list (which is output on line 152 from estimate similarity block 141 in
In this example with user E, the implicitly correlated program list would contain the programs from Tables 2 and 4 that are not commonly shared between Tables 2 and 4. These six programs (having program IDs of 77, 11, 78, 13, 70 and 02) would form the basis for generating a preference profile to identify programs that are estimated to be liked by user E. Although as noted above, a preference profile for user E is not be used, the rationale here is that a consensus of other users (in this case users B and D) as to liked programs as their recording logs have a significant overlap among the programs that were chosen to be recorded on their DVRs. Therefore, as both user B and D also recorded program ID 31 (as did user E) then the remaining disparate programs on user B's recording log and user D's recording log (i.e., the programs that were not common to both logs) would likely be enjoyed by user E as well. In this example with user E, only the two user recording logs from Tables 2 and 4 are used for the sake of clarity in presentation. However, a plurality of user recording logs may be used to establish the consensus among users. As with the example with user A, this selective recording scheme enables the preferences of an entire community users to be considered without having to track, manipulate or store any data other than implicit data
As described in detail above, the selective DVR recording with implicit correlation arrangement advantageously provides a wide variety of recommended programming that is estimated to be liked by a user without requiring affirmative and time-consuming entry of explicit data by the user. Other features of the invention are contained in the claims that follow.