|
Claims  |
|
|
What is claimed is:
1. Apparatus for causing recordation of television programs comprising: a preference agent for causing retrieval of attribute information corresponding to each television
program viewed by a user of said apparatus, said preference agent generating classification information indicative of viewing preferences of said user as a function of said attribute information and program deletion information indicative of priority in
which television programs are deleted; and a record manager that fills a storage medium to maximum capacity and then automatically maintains the storage medium at maximum capacity with highest priority television programs by causing automatic
recordation and storage to the storage medium of a plurality of television programs having attribute information that matches said classification information without requiring an explicit decision to record each of the plurality of programs on the part
of the user, and by causing automatic deletion and replacement of television programs having lowest priority with newly stored television programs when required.
2. Apparatus as set forth in claim 1 further comprising a storage medium manager comprising: means for causing deletion of television programs stored on said storage medium as a function of age of said television programs; means for causing
deletion of television programs stored on said storage medium as a function of viewing frequency of said program by said user; and means for causing deletion of television programs stored on said storage medium as a function of program deletion inputs
from said user identifying one or more programs to be deleted from said storage medium.
3. Apparatus as set forth in claim 1 wherein said program deletion information is periodically updated as a function of time.
4. Apparatus as set forth in claim 1 further comprising means, responsive to one or more user inputs, for preventing updating of selected ones of said programs as a function of time.
5. Apparatus as set forth in claim 1 wherein said program deletion information is periodically updated as a function of programs viewed by said user.
6. In a system that receives television signals carrying television programs, a computer storage medium comprising apparatus for causing storage of selected ones of said television programs for subsequent viewing by a user of said apparatus,
comprising: a preference determination module, responsive to attribute information associated with television programs viewed by said user, for categorizing said attribute information in accordance with categorization parameters to generate recordation
preference information, indicative of television program viewing preferences of said user; and a recordation module, responsive to user specified requests to cause recordation on said storage medium of subsequently transmitted television programs, and
further responsive to said recordation preference information, for causing recordation on a storage medium of a plurality of subsequently transmitted television programs, having attribute information corresponding to said recordation preference
information without requiring a user specified request to cause recordation; wherein said recordation preference information comprises program deletion information indicative of priority in which television programs stored on said recordation module are
deleted from said storage medium, as indicated by viewing preferences of said user, and wherein said recordation module fills said storage medium to maximum capacity and then maintains said storage medium at maximum capacity by responding to said program
deletion information by causing replacement of television programs having lowest priority with newly stored television programs.
7. Apparatus as set forth in claim 6 wherein said recordation module is further responsive to an available capacity value, indicative of available storage capacity of said storage medium on which said subsequently transmitted television programs
are stored, for causing storage of said television programs having attribute information corresponding to said recordation preference information in accordance with said available capacity value.
8. Apparatus as set forth in claim 6 wherein said recordation preference information comprises recordation priority information indicative of a priority in which programs are recorded for storage on said storage medium, and wherein said
recordation preference information is generated by assigning highest priority to programs requested for storage by said user, assigning lowest priority to programs having attribute information corresponding to said recordation preference information and
assigning intermediate priority to programs having attribute information corresponding to one or more user specified criteria.
9. Apparatus as set forth in claim 6 wherein said user specified requests comprise a first type of request comprising information indicative of a specific program and a second type of request comprising attribute information indicative of one or
more programs having attribute information corresponding to said user specified attribute information.
10. Apparatus as set forth in claim 6 wherein said preference determination module organizes said recordation preference information in the form of a database organized according to said categorization parameters.
11. Apparatus as set forth in claim 6 wherein said recordation module comprises means, responsive to a first user request, for causing a selected program to be recorded once for storage on said storage medium, and responsive to a second user
request, for causing a selected program to be recorded periodically for storage on said storage medium.
12. Apparatus as set forth in claim 6 wherein said recordation module comprises means, responsive to a category recordation request by said user, for causing recordation of programs having attribute information corresponding to user specified
attribute information.
13. Apparatus as set forth in claim 6 further comprising means, responsive to a pause input from said user, for causing recordation of a currently broadcasted program being viewed by said user.
14. Apparatus as set forth in claim 6 further comprising means, responsive to a pause input from said user, for causing pausing of a recorded program being viewed by said user.
15. Apparatus as set forth in claim 6 further comprising means, responsive to a channel selection input from said user, for causing changing of a first channel corresponding to a currently broadcasted program to a second channel corresponding to
a recorded program.
16. Apparatus as set forth in claim 6 further comprising means, responsive to a channel selection input from said user, for causing changing of a first channel corresponding to a recorded program to a second channel corresponding to a currently
broadcasted program.
17. Apparatus as set forth in claim 6, wherein said storage means stores randomly accessible, digitally encoded data and wherein said apparatus further comprises means, responsive to a channel selection input from said user, for causing changing
of a first channel corresponding to a first recorded program to a second channel corresponding to a second recorded program.
18. Apparatus as set forth in claim 17 wherein said means responsive to a channel selection input from said user is further responsive to a first pause input, for causing pausing of said first recorded program channel upon changing of said first
channel to said second channel.
19. Apparatus as set forth in claim 18 wherein said means responsive to a channel selection input from said user is causes said first recorded program to continue playing upon changing of said first channel to said second channel in the absence
of said first pause input.
20. Apparatus as set forth in claim 6 further comprising means, responsive to a user delete input, for causing deletion of a selected program from said storage medium.
21. Apparatus as set forth in claim 6 further comprising: means, responsive to a user program selection input, for causing generation of a user selection menu on said television, said user selection menu providing said user with a plurality of
options comprising, an option to play a selected program, hold a selected program, delete a selected program, play a selected program from the beginning of said program, fast-forward a selected program or rewind a selected program; and means, responsive
to user selection of one of said options, for causing execution of said selection option.
22. Apparatus as set forth in claim 21 wherein said means for causing generation of a user selection menu on said television is responsive to a menu view input received during viewing of a program for causing generation of said user selection
menu on said television. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
This invention relates generally to the field of recording of broadcast type television programs by viewers for subsequent viewing.
BACKGROUND OF THE INVENTION
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.
SUMMARY OF THE INVENTION
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.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a high-level block diagram of a system employing the principles of the present invention.
FIGS. 2 and 3 are block diagrams illustrating operation of certain functions performed by the television recording system of FIG. 1.
FIGS. 4, 5, 6, 7, 8(a) and 8(b) are flowcharts illustrating additional aspects of operation of the preference agent of FIG. 1.
FIGS. 9(a) and 9(b) illustrate alternative hardware configurations in systems embodying the principles of the present invention.
FIG. 10 is a flowchart illustrating additional aspects of operation of the television recording system of FIG. 1.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In FIG. 1, a television control system 100 operates in accordance with the principles of the present invention to cause recordation of television programs in response to user inputs 102 and television signals 104. Television control system 100
transmits signals to a television monitor 108 for viewing by the user. Preferably, in digital embodiments, programs that are recorded by system 100 are presented to the user in the form of additional channels. Thus, the user can rapidly determine, by
changing channels, the stored programs that are available for viewing. The user can also change channels between stored programs or between stored programs and currently broadcasted programs. If the user changes channels from a recorded program to
another program, playback of the recorded program is preferably paused. Alternatively, whether the playback of the recorded program is paused or continued, is a user selectable option. As described further herein, the user may specify programs for
recordation by specification of a particular program, or by specification of particular attributes of the program such as comedy/drama, actor(s). When manually specifying programs for recordation, the user may specify that the program is to be recorded
once or repeatedly, such as weekly, when broadcast.
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 FIG. 1 as being associated with the category--value pairs 115 contains weighting information for the associated category
value, in addition to other information shown by way of example further below. Preference agent 110 maintains the preference information 115 in the form of a preference database 116. Television programs 105 recorded by the system 100 are preferably
stored separately together with the associated attribute information 107. In an alternative embodiment, the category value pairs 115 (with or without the associated values) are stored with the television programs 105 and the raw attribute information
107 is not maintained by the system 100.
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. Programmning
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 15 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:
Short Event Descriptor: { event_name_length event_name, event_description_length event_description } Extended_event_descriptor: { ITEM1, ITEM2 . . . . . . ITEMn. } content descriptor: { CONTENT1, CONTENT2, . . . . . . CONTENTn. }
ITEMs include the following information:
{ item_description_length, item_description, item_value_length, item_value }
An example of item descriptions can be "Director" and item value can be "Martin Scorcese". CONTENT includes the following information:
{ DVB-SI defined theme, DVB-SI defined sub-theme, programmer defined theme, programmer defined subtheme, }
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-49 ers, 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 availa | | |