This invention relates generally to the field of recording of broadcast type television programs by viewers for subsequent viewing.
Currently, recording of television programs by individuals for viewing at a later time, is generally performed using commercially available Video Cassette Recorders (VCRs). Typically, a VCR may be either manually placed into a record mode or may be programmed to record a selected program at a later time. To program the VCR, the user either enters a date, time and channel of the program desired to be recorded, or enters an identification code of the desired program.
Viewers of television programming increasingly have more choices as to which programs to view. For example, cable television provides a dramatic increase in the number of channels available to a viewer in comparison to the channels available by way of a conventional television antenna. Digital satellite systems provide even more viewing choices. Digital broadcast of programs over cable television systems is expected to further increase the number of channels available to viewers.
One effect of the increase in the number of viewing choices is increased difficulty in deciding which programs to watch. People, particularly those with busy schedules, may not have the time to select and view programs to determine which programs they may or may not like. Programs that may otherwise be desirable to a viewer may never be watched if the program is broadcast at a time that is inconvenient for the viewer. User's may select certain programs for viewing to determine if they like the program. However, with several hundred program selections each week, this task can take a considerable amount of time and is likely to cause certain desirable programs to be overlooked.
It would therefore be desirable to have a system that automatically determines which programs to record based on user viewing preferences. Ideally, appropriate programs matching the user's viewing preferences could then be recorded, thus relieving the user from the task of selecting programs to record from among potentially hundreds of program selections.
In a principal aspect, the present invention determines viewing preferences of a user by monitoring programs viewed by the user and causes recording of programs corresponding to the user's preferences. In accordance with the principles of the present invention, apparatus for causing recordation of television programs comprises a preference agent for causing retrieval of attribute information corresponding to each television program viewed by a user of the apparatus. The preference agent generates classification information indicative of viewing preferences of the user as a function of the attribute information. A recording manager causes recordation and storage to a storage device of television programs having attribute information that matches the classification information.
Embodiments employing the principles of the present invention advantageously cause recordation of programs that match certain viewing habits of the viewer. Such embodiments therefore provide the viewer with stored programs that match certain viewing preferences of the user, which can be viewed at the viewer's leisure. The viewer is therefore relieved of the burden of deciding which programs from among several hundred possible programs to watch.
In accordance with a further aspect of the present invention, programs may be recorded for storage in accordance with available capacity of the storage device. Moreover, programs may be deleted in response to selections by the user or based upon a priority, indicated by viewing preferences of the user, in which programs having lowest priority are deleted first to make room for newly recorded programs. The priority of programs may also be a function of time, in which more recently recorded programs are given higher priority.
In accordance with further aspects of the invention, determining which programs to record may also be a function of priority in which programs specified for recordation are given highest priority, followed by programs having attribute information corresponding to one or more user specified criteria, then followed by programs having attribute information corresponding to the recordation preference information.
In accordance with further aspects of the invention, the user specified requests may be in the form of a first type of request comprising information indicative of a specific program and a second type of request comprising specifications indicative of one or more programs having attribute information corresponding to the user's specifications.
In accordance with further aspects of the invention, the user may cause recordation of a currently broadcasted program being viewed by the user by causing generation of a pause input. This advantageously allows a user to interrupt viewing of a currently broadcasted program by recording the remainder of the program for subsequent viewing. Program viewing options may be presented to the user in the form of a menu that provides an easy to use interface for selection of programs and viewing and other options including play, pause, delete, fast-forward, rewind and so forth.
Preferably, the preference agent organizes the recordation preference information in the form of a database organized in accordance with categorization parameters. Programs may be received in either analog or digital formats. Programs stored in digital format are advantageously presented to the user in the form of additional channels. This allows the user to easily switch between programs (either recorded or broadcast) simply by switching channels.
These and other features and advantages of the present invention may be better understood by considering the following detailed description of a preferred embodiment of the invention. In the course of this description, reference will frequently be made to the attached drawings.
a) and 9(b) illustrate alternative hardware configurations in systems embodying the principles of the present invention.
In
Signals 104 include a first component 105 which contains the information necessary to display video and audio components of a television program on television monitor 108. Signals 104 preferably also include a second component 107 termed herein “attribute information.” An example of such attribute information 107 is the information available by way of the DVB-SI and ATSC-SI formats and various proprietary formats such as StarSight EPG Data and TVData available from StarSight Telecast, Inc., Fremont, Calif., and TVData, Glen Falls, N.Y., respectively.
Attribute information 107 for any particular program varies depending on the program type, but typically includes a plurality of categories such as start time for the program, duration of the program, the title of the program and other attributes (categories) of the program, together with an associated value corresponding to each of the categories. Preference agent 110 processes the attribute information 107 to generate “category—value” pairs 115. For example, if an attribute for a program is duration, then the category may be duration and the value for that category may be 120 minutes. If the attribute for a program is title, then the category may be title and the value may be “Star Wars.” Other category—value pairs for a movie may include a description category with a short description of the movie being the value, a primary actor category with the names of the primary stars of the movie being the values, a director category with the name of the director being the value, a theme category with the theme such as adventure, comedy being the value, and a ratings category with ratings by particular critics being the value. Category—value pairs for a sports game, such as a football game, may include names of the teams who are playing, the location of the game, and the specific tournament, such as the play-offs, or Superbowl, etc.
The category—value pairs 115 (preference information) are indicative of viewing preferences of the user. The data shown in
Preference agent 110 generates, in response to user viewing habits, data for each category stored in preference database 116 and for each value of each category. The data generated by preference agent 110 for each category and value is preferably indicative of the amount of time that the particular category and/or value is watched by the user relative to the total amount of time that the particular category and/or value is available to be watched. The relative amount of time that a program is watched by a user is a convenient indication of the user's relative viewing preference. However, other indications of user viewing preferences may also be used. Program source switch 114 operates in response to user inputs 102 to select either presently broadcasted programs, by way of television signal 104 or stored programs from storage devices 106.
Recording manager 112 operates to cause recordation and storage of television programs 105 and attribute information 107 in accordance with information generated by preference agent 110 and stored in preference database 116. Recording manager 112 also responds to user requests to record particular programs and to user requests to record programs having specified category—value pairs.
The signals transmitted to the monitor 108 preferably take a conventional analog form. Alternatively the signals transmitted to the monitor 108 maybe digitally encoded. The exact form of the signals transmitted to the monitor is not critical and may take a form as required by a particular monitor. The television signals 104 received by the television control system 100 may take one of a variety of signal formats including analog encoded signals that are encoded in accordance with the well known NTSC or PAL standards. Alternatively, the signals 104 may be digitally encoded in a manner as transmitted by commercially available digital satellite systems (DSS) or in accordance with the MPEG-2 (Motion Picture Expert Group-2) standard. In any given embodiment of television control system 100 the signal 104 may take a variety of the aforementioned forms. For example, television control system 100 may be coupled to receive inputs from a digital satellite system, the inputs being digitally encoded. The television control system 100 may also be coupled to receive inputs from a Community Antenna Television System (CATV) in which the signals are either encoded in analog or digital form. The television control system 100 may also be coupled to receive analog or digital signals from a conventional home antenna.
The attribute information 107 may be transmitted to the television control system 100 contemporaneously with the television program 105 in a variety of ways including industry standards, such as DVB-SI (Digital Video Broadcasting-Service Information) as defined by the European Telecommunication Standards Institute (ETS), or the ATSC digital television standard as defined by the Advanced Television System Committee (ATSC). By way of example, in the DVB-SI protocol, programming for the next six hours is transmitted every eight seconds for each channel. As a further example, program information for the next seven days is available from the interactive on-screen TV program guide available from StarSight Telecast, Inc. Programming information further into the future, such as for the next seven days, may also be obtained in other ways. For example, by receiving the information in a time-multiplexed manner over a particular channel. Such information can easily be transmitted when the user is performing an action that does not require a moving video image on the screen, such as when the user has a control menu displayed on the screen.
Alternatively, television control system 100 can download the attribute information 107 separately from the television program 105 by way of a separate communication session via a modem or the Vertical Blanking Intervals (VBI) contained in television signals. Such separate communication sessions include data download mechanisms supported by the MPEG-2, DVB-SI and DSS protocols.
The attribute information 107 can take a form under the DVB-SI protocol as shown below:
event_id,
start_time.
duration,
DESCRIPTOR1,
DESCRIPTOR2,
. . .
. . .
DESCRIPTORn.
The event_id field is a unique alpha-numeric code assigned to a program. DESCRIPTORS can be “Short Event Descriptors,” “Extended Event Descriptors” or “Content Descriptors” which include the following information:
ITEMs include the following information:
An example of item descriptions can be “Director” and item value can be “Martin Scorcese”. CONTENT includes the following information:
An example of theme and subtheme are MOVIE and COMEDY, respectively. The programmer defined theme and sub-theme are values that may be provided by the EPG Data provider.
Category—value pairs 115 are generated from the above type of information. The category—value pairs 115 take the following format: Category Name—Category Value, where category name can be “Title”, “Director”, “Theme”, “Program Type” etc. and category values can be “Seinfield” “Martin Scorcese”, “Comedy”, “Sitcom” etc. Generation of category—value pairs 115 from attribute information 107 allows generation by preference agent 110 of categories that are not explicitly present in the attribute information 107. For example, category—value pairs 115 can be: Title—49ers, Description—football, and Description Search Rule—football(AND) San Francisco. Thus, preference agent 110 is capable of generating category—value pairs 115 from attribute information 107 even where there is no field in the attribute information that corresponds to the created category—value pair.
Preference database 116 is preferably generated initially by downloading category—value pairs from a third-party source such as StarSight Telecast, Inc. Advantageously, such sources may provide information customized for particular geographical areas and dates. For example, the database may contain data that gives sporting events involving local teams higher ratings than other sporting events. In addition, seasonal or holiday programs may be indicated as being preferred during particular seasons or holidays. For example, programs involving summertime activities would be indicated as having higher weighting during the summer than at other times of the year. The preference database is modified as described herein in accordance with the user's viewing habits. In addition, the preference database can be periodically updated from third-party sources to reflect the aforementioned seasonal or holiday updates.
Categories in the preference database 116 are either predefined, such as those received from third-party sources, or are dynamically created from attribute information 107 received for programs 105. Categories, and associated values, that are dynamically created are preferably given a default rating by preference database 116. An example of the preference information created by preference agent 110 or downloaded to preference agent 110 is shown below. In the following example, the three columns of numbers in the category statistics and value statistics portions indicate weighting (in a range of 0 to 1000), duration watched (in seconds) and amount of time that programs matching that particular category or value was available (in seconds). The information is preferably stored in the form of database records.
In the above example, fourteen categories are provided (1000-1013) followed by thirty-six values. The correspondence between the categories and values (category—value pairs) is next shown. Data for the categories and then the values is shown next. This data is organized in three columns as described above.
Preference ratings for programs are preferably computed by preference agent 110 from data stored in preference database 116 in accordance with the following formula:
where,
DWvi=duration watched for the ith value;
DAvi=duration availability for the ith value.
The summations shown in the above equation are performed for all values of i, where vi is a value in a category—value pair derived from the attribute information for the program.
The above formula is merely an example formula for computing preference ratings. The above formula may be modified in a number of ways to achieve different preference ratings. For example, certain category—value pairs may be weighted in the formula to achieve certain preference objectives.
In the embodiment shown in
Television control system 100 is preferably implemented by way of a general purpose digital computer and associated hardware that executes stored programs to implement the functions shown within block 100 in
Storage devices 106 may include a variety of different types of storage devices. For example preference database 116 may be stored in a non-volatile, random-access semiconductor memory. Television programs 105 and attribute information 107 may be stored on storage devices having greater capacity such as a conventional magnetic, hard disk drive. In general, storage devices 106 are understood to encompass a variety of storage devices. The exact form of the storage devices 106 is not critical so long as the storage devices have the capacity and speed to store the necessary information. Storage devices 106 may also comprise a conventional video cassette recorder (VCR) which operates under control of system 100 to store television programs 105 and attribute information 107 on conventional magnetic tape.
For the purposes of the present description, the television control system 100 is presumed to be integrated into, or coupled to, a system including a tuner and other functions necessary to receive television signals and to extract the attribute information 107 from the television signal and to perform other functions typically associated with the receipt and viewing of television signals. In certain embodiments, television control system 100 may operate in conjunction with a database agent that facilitates interaction with preference database 116 by causing storage and retrieval of information to or from the database in an optimal manner. The preference database 116 may be implemented by a commercially available database product such as the Oracle Light database product available from Oracle Corporation which also incorporates the functionality to implement the data base agent described above.
Recording manager 112 causes recording of programs 105 by periodically initiating a sequence of steps shown in
Highest priority for recording of programs is given to programs specifically requested by the user. For example, if the user identifies a particular program for recording, such as by specifying the date, time and channel, or by specifying an identification code for the program, recordation of that program is given priority over programs rated by the preference agent. Next highest priority is given to programs matching particular category—value pairs specified by the user. For example, if the user does not identify a particular program, but specifies that one-hour long documentaries pertaining to travel should be recorded, then recordation of programs matching such category—value pairs is given priority over programs rated by the preference agent 110. In alternative embodiments, relative priority between user-specified programs, user-specified category—value pairs and programs rated by the preference agent 110 is changeable by the user.
Recording manager 112 manages storage capacity on storage devices 106 by causing deletion of television programs 105 in accordance with ratings of such programs generated by preference agent 110. This is performed in a manner similar to that explained above for determining which programs to record.
Availability statistics for programs currently being broadcast are updated by system 100 when the user is watching a currently broadcast program. The steps performed to implement this function are shown in
a) and 8(b) show the steps performed to update predefined categories and values stored in database 116. As shown in step 802 the steps in
Continuing to
In certain embodiments, the preference database is used by system 100 to alter the manner in which information about currently broadcasted programs is presented to the user. For example, in such embodiments, the preference database is used to rearrange the order in which currently broadcasted programs are presented to cause programs having attribute information 107 rated highest by preference database 116 to be presented first. Alternatively, the preference database 116 can be used to organize information regarding the currently broadcasted programs according to the various category—value pairs stored in the database 116.
a) and 9(b) illustrate alternative hardware configurations for systems employing the principles of the present invention.
b) illustrates an embodiment using an analog storage device 106 such as a conventional VCR. If the television signal 104 is analog then the interface 910 takes the form of a conventional NTSC or PAL interface. If the television signal 104 is digital then the interface 910 takes a form as interface 902 shown in
Preferably the recording system 100 supports a variety of functions such as fast-forward, rewind and visual scan of stored programs, and other functions supported by the storage medium 106. For example, if the storage medium 106 takes the form of a VCR then the program viewing and manipulation functions will be limited to the standard VCR functions of fast-forward, rewind, forward or reverse visual scan. If the storage device 106 takes the form of a digital storage medium then more advanced program search and retrieval functions can be supported.
It is to be understood that the specific mechanisms and techniques which have been described are merely illustrative of one application of the principles of the invention. For example, the functions performed by the preference agent 110 and the recording manager 112 are illustrative of a particular embodiment. However, the division of tasks between the two modules 110 and 112 may be changed. In addition, the data formats 115, 116, 105 and 107 may also take a variety of forms. Numerous additional modifications may be made to the methods and apparatus described without departing from the true spirit of the invention.
This application is a continuation of U.S. patent application Ser. No. 09/096,592 filed on Jun. 12, 1998 now U.S. Pat. No. 6,614,987.
Number | Name | Date | Kind |
---|---|---|---|
5223924 | Strubbe | Jun 1993 | A |
5262875 | Mincer et al. | Nov 1993 | A |
5371551 | Logan et al. | Dec 1994 | A |
5410344 | Graves et al. | Apr 1995 | A |
5446919 | Wilkins | Aug 1995 | A |
5463565 | Cookson et al. | Oct 1995 | A |
5483278 | Strubbe et al. | Jan 1996 | A |
5537157 | Washino et al. | Jul 1996 | A |
5559549 | Hendricks | Sep 1996 | A |
5565909 | Thibadeau | Oct 1996 | A |
5579055 | Hamilton et al. | Nov 1996 | A |
5585865 | Amano et al. | Dec 1996 | A |
5600364 | Hendricks et al. | Feb 1997 | A |
5635989 | Rothmuller | Jun 1997 | A |
5636346 | Saxe | Jun 1997 | A |
5652613 | Lazarus et al. | Jul 1997 | A |
5664046 | Abecassis | Sep 1997 | A |
5671411 | Watts et al. | Sep 1997 | A |
5701383 | Russo et al. | Dec 1997 | A |
5704017 | Heckerman | Dec 1997 | A |
5717923 | Dedrick | Feb 1998 | A |
5724091 | Freeman et al. | Mar 1998 | A |
5754651 | Blatter et al. | May 1998 | A |
5758257 | Herz | May 1998 | A |
5758259 | Lawler | May 1998 | A |
5761371 | Ohno et al. | Jun 1998 | A |
5774170 | Hite | Jun 1998 | A |
5778135 | Ottesen et al. | Jul 1998 | A |
5781228 | Sposato | Jul 1998 | A |
5790935 | Payton | Aug 1998 | A |
5798785 | Hendricks et al. | Aug 1998 | A |
5801747 | Bedard | Sep 1998 | A |
5809471 | Brodsky | Sep 1998 | A |
5818441 | Throckmorton et al. | Oct 1998 | A |
5848396 | Gerace | Dec 1998 | A |
5867226 | Wehmeyer et al. | Feb 1999 | A |
5898456 | Wahl | Apr 1999 | A |
5907350 | Nemirofsky | May 1999 | A |
5945988 | Williams et al. | Aug 1999 | A |
5953073 | Kozina et al. | Sep 1999 | A |
5977964 | Williams et al. | Nov 1999 | A |
5990927 | Hendricks et al. | Nov 1999 | A |
6002393 | Hite | Dec 1999 | A |
6005561 | Hawkins et al. | Dec 1999 | A |
6005597 | Barrett et al. | Dec 1999 | A |
6018612 | Thomason et al. | Jan 2000 | A |
6029045 | Picco et al. | Feb 2000 | A |
6029195 | Herz | Feb 2000 | A |
6088722 | Herz et al. | Jul 2000 | A |
6091883 | Artigalas et al. | Jul 2000 | A |
6101529 | Chrabaszcz | Aug 2000 | A |
6134532 | Lazarus et al. | Oct 2000 | A |
6157772 | Kim | Dec 2000 | A |
6160570 | Sitnik | Dec 2000 | A |
6169842 | Pijnenburg et al. | Jan 2001 | B1 |
6177931 | Alexander et al. | Jan 2001 | B1 |
6185360 | Inoue et al. | Feb 2001 | B1 |
6209131 | Kim et al. | Mar 2001 | B1 |
6233389 | Barton | May 2001 | B1 |
6236395 | Sezan et al. | May 2001 | B1 |
6304714 | Krause et al. | Oct 2001 | B1 |
6317881 | Shah-Nazaroff et al. | Nov 2001 | B1 |
6324334 | Morioka et al. | Nov 2001 | B1 |
6324338 | Wood | Nov 2001 | B1 |
6396500 | Qureshi et al. | May 2002 | B1 |
6466241 | Schindler | Oct 2002 | B1 |
6480667 | O'Connor | Nov 2002 | B1 |
6507950 | Tsukidate et al. | Jan 2003 | B1 |
6530082 | Del Sesto et al. | Mar 2003 | B1 |
6536041 | Knudson et al. | Mar 2003 | B1 |
6553178 | Abecassis | Apr 2003 | B2 |
6583825 | Yuen et al. | Jun 2003 | B1 |
6587561 | Sered et al. | Jul 2003 | B1 |
6599473 | Egger et al. | Jul 2003 | B1 |
6614987 | Ismail et al. | Sep 2003 | B1 |
6637029 | Maissel et al. | Oct 2003 | B1 |
6675384 | Block et al. | Jan 2004 | B1 |
6698020 | Zigmond et al. | Feb 2004 | B1 |
6704930 | Eldering et al. | Mar 2004 | B1 |
6704931 | Schaffer et al. | Mar 2004 | B1 |
6738978 | Hendricks et al. | May 2004 | B1 |
6898762 | Ellis et al. | May 2005 | B2 |
6928653 | Ellis et al. | Aug 2005 | B1 |
6950623 | Brown et al. | Sep 2005 | B2 |
6990677 | Pietraszak et al. | Jan 2006 | B1 |
6993782 | Newberry et al. | Jan 2006 | B1 |
7013478 | Hendricks et al. | Mar 2006 | B1 |
7035528 | Britton | Apr 2006 | B1 |
7051351 | Goldman et al. | May 2006 | B2 |
7051352 | Schaffer | May 2006 | B1 |
7054900 | Goldston | May 2006 | B1 |
7086076 | Park | Aug 2006 | B1 |
7096486 | Ukai et al. | Aug 2006 | B1 |
7103575 | Linehan | Sep 2006 | B1 |
7146626 | Arsenault et al. | Dec 2006 | B1 |
7146627 | Ismail et al. | Dec 2006 | B1 |
7194753 | Fries et al. | Mar 2007 | B1 |
7370342 | Ismail et al. | May 2008 | B2 |
20010049826 | Wilf | Dec 2001 | A1 |
20020073426 | Bhatt | Jun 2002 | A1 |
20020186296 | Gogoi et al. | Dec 2002 | A1 |
20020199193 | Gogoi et al. | Dec 2002 | A1 |
20020199194 | Ali | Dec 2002 | A1 |
20030040962 | Lewis | Feb 2003 | A1 |
20030056216 | Wugofski et al. | Mar 2003 | A1 |
20030067554 | Klarfeld et al. | Apr 2003 | A1 |
20030093792 | Labeeb et al. | May 2003 | A1 |
20030118323 | Ismail et al. | Jun 2003 | A1 |
20030145323 | Hendricks et al. | Jul 2003 | A1 |
20040111742 | Hendricks et al. | Jun 2004 | A1 |
20040117831 | Ellis et al. | Jun 2004 | A1 |
20050193410 | Eldering | Sep 2005 | A1 |
20060206912 | Klarfeld et al. | Sep 2006 | A1 |
20060212904 | Klarfeld et al. | Sep 2006 | A1 |
Number | Date | Country |
---|---|---|
0 823 815 | Feb 1998 | EP |
0 838 951 | Apr 1998 | EP |
0 851 681 | Jul 1998 | EP |
0 909 095 | Apr 1999 | EP |
0 705 036 | Mar 2002 | EP |
WO 9222983 | Dec 1992 | WO |
WO 9222983 | Dec 1992 | WO |
WO 9222983 | Dec 1992 | WO |
WO 94 13107 | Jun 1994 | WO |
9421081 | Sep 1994 | WO |
WO 95 01057 | Jan 1995 | WO |
WO 96 09721 | Mar 1996 | WO |
WO 96 09721 | Mar 1996 | WO |
WO 96 31980 | Oct 1996 | WO |
9750251 | Dec 1997 | WO |
WO 97 48230 | Dec 1997 | WO |
WO 98 28906 | Jul 1998 | WO |
0117250 | Mar 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20050204386 A1 | Sep 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09096592 | Jun 1998 | US |
Child | 10999379 | US |