Systems and methods for contextually linking television program information
The present invention provides systems and methods for providing television schedule information to a viewer, and for allowing the viewer to link, search, select and interact with information in a remote database, e.g., a database on the internet. The television schedule information can be displayed on a variety of viewer interfaces, such as televisions screens, computer monitors, PCTV screens and the like. The television schedule information may be stored on the viewer's computer, television, PCTV, or a remote server (e.g., a website), or the television schedule information may be downloaded from a remote database to the viewer's computer, television or PCTV.
This application is a continuation of U.S. patent application Ser. No. 08/837,298, filed on Apr. 11, 1997, which claims the benefit of Provisional Patent Application Ser. Nos. 60/022,826, filed on Jul. 26, 1996, and 60/015,648, filed on Apr. 19, 1996, and is a continuation-in-part of U.S. patent application Ser. No. 08/537,650, filed on Oct. 2, 1995, the complete disclosures of which are incorporated herein by reference. This application is also related to U.S. patent application Ser. No. 08/837,025, filed Apr. 11, 1997, and its Appendices A, B, and C, the complete disclosure which is also incorporated herein by reference.
BACKGROUND OF THE INVENTIONThe present invention generally relates to systems and methods for providing information to television viewers, and more particularly to systems and methods for allowing the viewer to retrieve, search, select and interact with television schedule information located in a remote database, computer network or on-line service, e.g., a network server on the Internet or World Wide Web.
As the number of television stations in a metropolitan area or on a cable network has increased, the number of programs of potential interest that are presented to a viewer has risen dramatically. With the use of dish antennas capable of receiving direct satellite signals, the multitude of programs available to the viewer has further increased. Consequently, television schedule systems that are provided directly on the viewer's television screen have been developed to assist the viewer in sorting through these various programs and determining which programs to watch or record. One such television schedule system is disclosed in commonly assigned U.S. Pat. No. 5,353,121 (Young et al.), the complete disclosure of which is hereby incorporated by reference. In one embodiment of Young, the television schedule includes a series of menu screens having an array of cells corresponding to different television programs. The viewer may scroll through the cells to view which television programs are being presented on various channels at various times. In addition, the viewer may select certain cells to obtain more information on the associated program or to pull up other submenus with additional options.
The recent development of television schedule systems, such as the above described patent to Young, have created many new challenges and opportunities. One such challenge and opportunity is to provide viewers with additional information associated with a particular program in the television guide. As a television viewer is browsing through the television programs, he or she may wish to obtain more information relating to specific areas of interest or concerns associated with the show, such as the actors, actresses, other movies released during the same time period, or travel packages or promotions that may be available through primary, secondary or third party vendors. Offering this type of information to the television viewer can be difficult, however, because their are hundreds of different programs broadcast every day. In addition, the available information changes at a rapid pace, which makes it even more difficult to provide this information in present television schedule guides.
In television broadcasting, it may also be desirable to interact with the viewer. There are many commercials and programs which request viewer action such as purchasing an advertised product, making a monetary contribution, responding to a survey, answering a question, or participating in contests with other viewers, for example. One problem with this existing system is that it is often difficult to motivate a viewer to request information or send in a contribution after the broadcast of the commercial or program. Viewers will often forget the advertisement or simply lose motivation to spend money or request information after the commercial or program is over. Another problem is that companies sponsoring these commercials or programs would often like to provide their viewers with further information, if the viewers could be identified or if the viewer requests the additional information. Thus, it would be desirable to provide a ready and efficient method to facilitate an exchange of information between television viewers and producers, promoters and advertisers during the broadcast of the commercial or program.
SUMMARY OF THE INVENTIONThe present invention provides systems and methods for providing television schedule information on a visual interface, and for allowing the viewer to retrieve, search, select and interact with information located in a remote database, computer network or on-line service, such as a network server on the Internet or World Wide Web. The television schedule information can be displayed on a variety of visual interfaces, such as televisions screens, computer monitors, PCTV screens and the like. The television schedule information may be stored on the viewer's computer, television, PCTV, or a remote server (e.g., a website), or the television schedule information may be downloaded from a remote database or computer network to the viewer's computer, television or PCTV. The present invention also provides systems and methods for allowing the viewer to navigate and interact with a program guide that is displayed, for example, on the viewer's television screen. The program guide will usually include a schedule information area that depicts the programs that are being presented on each channel at each time during the day, week or month. With an input device, such as a remote control device, pointing device, mouse, keyboard, microphone or the like, the viewer can browse through the schedule information area and/or obtain more information about programs of particular interest.
In one embodiment, the invention provides an interactive television schedule and/or listing information system which can access television schedule and/or listing information from remote databases or network servers, such as the Internet or World Wide Web, and provide user access to these databases and servers. Access to computer networks may be provided without tying up any phone lines, and without the need for a personal computer (e.g., an “NC” or Network Computer). In a preferred configuration, a cable modem located within a cable system provides access to the Internet. A memory within the cable system stores a computer program and any data received from the cable modem, such as the television schedule information. The cable system further include a processor, which uses the computer program to organize the television schedule information into a desired format. The television schedule information is then displayed on a television screen, computer monitor, PCTV and other interactive display devices in the desired format.
In yet another embodiment, the present invention provides a system and method for allowing the user to contextually link with a remote database, network server or on-line service, and search, select, and/or initiate a subscription to more information relating to specific areas of interest or concerns associated with a program in the television schedule information system. In this embodiment, the system includes a viewer interface having a display for displaying television schedule and/or listing information to a viewer, a data line coupled to the display for communicating with an external computer network, and a memory having software for retrieving linking data from the computer network. Preferably, the linking data is contextually related to information in the television schedule guide, such as a program's title or content. The external computer network will preferably include the Internet, the World Wide Web and other existing network servers. In this way, the user of the television schedule system may conduct a comprehensive search for information and/or related products, offers, and services about a particular program/television show or for information and/or related products, offers, and services relating to the show, the actors, the actresses, and show's theme and the like.
In another embodiment of the invention, a system and method is provided for contextually recording television programs that are listed as a user's “favorite” or in some other category. In this embodiment, a user identifies to the system (or the system automatically identifies) favorite subject matters, actors, actresses, etc. For example, the user may input into the system that he/she likes Jerry Seinfeld. Thereafter, the system tags any program it finds where Jerry Seinfeld is involved (i.e., he is a guest on the Tonight Show). In addition to tagging the show, according to this embodiment of the invention, the system will automatically program the VCR to record any or all of the shows with that tag. The user may then view the contextually recorded programs at any time he or she desires. Thus, the system will constantly search for any show that includes Jerry Seinfeld and record that show, episode, or only the portion of the show that involves Jerry Seinfeld. The user will then have a list of all the shows or some of the shows that feature Jerry Seinfeld and can view these shows at his or her leisure.
In another embodiment of the invention, a system and method is provided for accessing television schedule and/or listing information from one or more file servers on a computer network, such as the Internet or the World Wide Web. The television information guide may be accessed and viewed through a computer system, a television system, a PCTV, or a simple display coupled to a communication link, such as a telephone line or the like. The television schedule guide will preferably be stored as one or more files (e.g., websites or internet broadcast transmitters) on one or more file servers that are connected to each other on a network, which can be accessed by any viewer having access to the network. The television schedule guide or websites or internet broadcast transmitters may be configured for viewing and interacting with television information directly on-line, or it may be configured for downloading the information and/or information-processing/facilitating applet or application into a local processor coupled to the viewer interface. The guide or website will provide listing information for all channels and/or sources in the viewer's local cable line-up or available sources. The websites or internet broadcast transmitters may also be capable of creating personalized TV listings with search and sort features that allow the viewer to call up or be presented with favorite programming choices based on categories, such as channel, day actor, movie genre or other desired categories.
The present invention provides systems and methods for providing television schedule and/or listing information to a viewer, and for allowing the viewer to link, search, select, retrieve, initiate a subscription to and interact with information in a remote database, computer network or on-line server, e.g., a network server on the Internet or World Wide Web. The television schedule and/or listing information can be displayed on a variety of viewer interfaces, such as televisions screens, computer monitors, PCTV screens and other interactive display devices. The television schedule and/or listing information may be stored on the viewer's computer, television, PCTV, or a remote server (e.g., a website), or the television schedule and/or listing information may be downloaded from a remote database or computer network and/or internet broadcast to the viewer's computer, television or PCTV. Suitable television schedule and/or listing information systems or video guides that can be used with the present invention are described in commonly assigned U.S. Pat. Nos. 5,353,121, 5,479,266, the complete disclosures of which are hereby incorporated by reference. The systems and methods of the present invention may also be useful with video guides available under the name of SuperGuide™ from The SuperGuide Corporation of Shelby, N.C.
In one embodiment, the invention incorporates an interactive computer system which assists the viewer in utilizing television schedule and/or listing information and linking with a database to search and retrieve, initiate a subscription to, information. Preferably, the information is contextually related to television programs within the television schedule and/or listing information. Referring to the drawings in detail, wherein like elements are indicated by like numerals, a representative television schedule and/or listing information system 2 for use with the contextual linking system and method of the present invention is illustrated in
In another embodiment, computer system 10 may be combined with television system 30 to form a PCTV. In this embodiment, the computer will usually include a processor that may be used solely to run the program guide and associated software, or the processor may be configured to run other applications, such as word processing, graphics, or the like. The computer will usually be incorporated into the television set so that the television display can be used as both a television screen and a computer monitor. Alternatively, the television may be incorporated into the computer so that the computer monitor performs this dual function. Usually, the PCTV will include a number of input devices, such as a keyboard, a mouse and a remote control device, similar to the one described above. However, these input devices may be combined into a single device that inputs commands with keys, a trackball, pointing device, scrolling mechanism, voice activation or a combination thereof.
Television system 30 includes a television 32, which may be any commercially available television, and a user input device 20. Television system 30 may or may not include a video tape recorder (VCR). In this embodiment, VCRs 34 and 36 are coupled to television 32. These VCRs 34 and 36 can be, for example, any commercially available VCRs or any other type of recording and/or storage device (analog or digital). Input device 20 allows the viewer to interact with television 32, VCR 34, and/or VCR 36. Input device 20 may be a remote control, keyboard, mouse, a voice activated interface or the like. A suitable input device for use with the present invention is described in U.S. Provisional Application Ser. Nos. 60/022,826, filed on Jul. 26, 1996, and 60/015,648, filed on Apr. 19, 1996, the complete disclosures of which are incorporated herein by reference. A line 37 is used to connect other devices to VCR 34. Other devices can also be connected in series between VCR 34 and television 32 via line 38. With this configuration, computer 12 (or computer system 10) and television 32 (or television system 30) can be located in different rooms within a private residence or a commercial building.
In one embodiment, a computer program provided on diskettes, a CD ROM or other medium contains the software needed for receiving, organizing and displaying data for the television schedule guide. These diskettes are inserted in disk input 18 and the software for these diskettes is stored within computer 12 on hard drive 14 or on another mass storage location. This action can be performed by, for example, the user or a serviceperson. The computer program can also be provided access, download, and/or automatically upgrade, for example, via downloading from a satellite 24, transmission through the internet or other on-line service, or transmission through another type of land line 22 (e.g., coax cable, telephone line, optical fiber, or wireless technology (e.g., Richochet™).
In addition to the computer program, data for the basic schedule information and other related data (e.g., data relating to a particular show) are needed for the generation and maintenance of the television schedule and/or listing information guide. These data are received, in the preferred embodiment, via line 22; they can also be provided via a satellite broadcast from satellite 24 or wireless technology (e.g., Richochet™). Additionally, the television schedule and/or listing information and related data can be sent directly to television 32 via satellite 24 or wireless technology (e.g., Richochet™). In this arrangement, the television schedule information and related data does not have to be transmitted from computer system 10 to television system 30.
In one embodiment, line 22 is a telephone line which provides access to the internet or other on-line service via, for example, a regular modem or direct modem access to a schedule provider. The schedule data are then provided to the viewer from a remote database via the internet or other online service, or directly from the service provider. As stated above, line 22 can also be, for example, coax cable, optical fiber or any other land line which can provide data to computer 12. The software program saved on hard drive 14 then utilizes the data received on line 22 to generate a television schedule guide. The user can retrieve this generated television schedule guide when desired.
1. Overview of a Preferred EPG SystemIn a preferred embodiment, the electronic program guide of the present invention may be implemented either on a personal computer, a PCTV, a television connected to a set-top box, or a television including a custom board. However, the invention is not limited to any particular hardware configuration and will have increased utility as new combinations of computers and television systems are developed. In the following any of the above will sometimes be referred to as a “TV system”. Block diagrams of representative TV systems are depicted in
As is well known, the picture to be displayed may be transmitted as an analog signal, for example according to the NTSC standard utilized in the United States, or as a digital signal modulated onto an analog carrier. The signals may be received over a cable, or via an antenna or satellite dish. Typically, television sets are designed to receive analog signals and computers display devices are designed to display pictures encoded in a digital format. However, decoder system converts the digital data to an analog signal for display on a television set and TV modems can format analog TV signals for display on a monitor.
In
A PCTV includes a TV card 70, connected to either live video, baseband video, or channel 3/4 output, digitizes the video image and displays the video image in a resizeable window on the computer monitor. The PCTV is also coupled to land telephone lines by a modem 72.
If the received signal is an analog TV signal the TV card of the PCTV digitizes the analog signal and extracts included information from the vertical blanking intervals. On the other hand, if the signal is a digital signal, separate audio, video, VBI (vertical blanking information such as closed caption, teletext, and program related information), program guide, and conditional access information are provided as separate bitstreams. The video and audio bitstreams for programs are converted to a format for display and the program guide information is processed to form program guide database. The processor, executing software stored in memory, generates interactive electronic program guide images and images of received programs. The guide can be used to interact with and control programs displayed in the window.
A television system configured to display an electronic program guide such as a guide provided by StarSight telecast includes an on-screen display controller and other hardware described below. If a standard analog broadcast signal is received program guide data is extracted from the VBI by a VBI data slicer and processed to form a program database. If a DBS digital signal is received, either from a satellite or cable, VBI and program data are provided in separate bit streams. The program guide images are either generated locally or remotely and provided to an on screen display controller. Interactivity is provided via a remote control.
Alternatively, the program guide can be displayed on a computer monitor 83 that interactively controls the television set through, for example, an IR interface including an IR blaster 84 to generate IR codes to control the television and/or a VCR.
If the electronic guide database is generated locally, the system for creating the electronic programming guide must receive television schedule information and process the received information to create a database. Thus, the system usually requires, a data reception unit, a processor, memory to store program code and a database, an on-screen display generator (OSD), and a control interface for tuning to selected channels.
In one preferred embodiment, the schedule information is transmitted as a set of short commands of specified formats. Different commands communicate information such as a show schedule for a given channel, the title of each show in the schedule, descriptions and information attributes about each show in the channel. Thus, information for a show to be broadcast at a particular time is transmitted in several commands. ID numbers in the commands facilitate organizing the information into a relational database utilizing database engine (DBE) software stored in memory and executed by the processor.
In a preferred embodiment, a board is included at a viewer's television set and the database is stored locally and commands are transmitted in the VBIs of programming on a designated channel, for example PBS. An example of a board for receiving program guide information, generating program guide database, displaying the program guide, and interactively controlling the program guide is depicted in
Alternatively, the commands could be transmitted to the local unit over land telephone lines. Additionally, as described below, the database may be built remotely and the guide itself transmitted to the local unit.
The database engine builds a hierarchical database in the RAM. The hierarchical structure of the database is depicted in
In another embodiment, for example a DSS system, program guide data is transmitted as a bit stream that is processed by the database engine.
Additionally, a N.E.W.S. (new, entertainment, weather, and sports) database has been developed. Commands including story text and story IDs are transmitted. Links from the program guide to stories related to a program can be created and the related stories can be accessed from the guide.
An advertisement database is also created from commands including advertising text and logos including IDs for linking the advertisements to shows displayed in the EPG. The user may access the advertising information directly from the guide.
An internet database is also created from commands including URLs to internet sites related to programs displayed on the EPG. If the viewer is viewing the EPG on a platform that is Web enabled, e.g., WebTV, a PC, or PCTV, then a linked site can be accessed directly from the EPG.
Additionally, a graphics program module builds various displays utilizing schedule, show title, and other information from the database. If the OSD controller operates in the character mode the display is a grid of character codes which are transferred to the OSD controller which generates the on-screen display.
An input-response user interface program module responds to user input to generate new displays responsive to the particular input. In one preferred embodiment, the user utilizes an input device, e.g., a remote control, mouse, voice activated interface or keyboard, to place a pointer over a part of the current display and clicks. A suitable input device for use with the present invention is described in U.S. provisional application Ser. Nos. 60/022,826, filed on Jul. 26, 1996, and 60/015,648, filed on Apr. 19, 1996, the complete disclosures of which are incorporated herein by reference. The input-response module responds to the position of the pointer and the particular display currently displayed to generate a responsive display or take a particular action. In another preferred embodiment the user interface responds to function buttons on a remote control. Specific examples will be described below.
2. Detailed Description of the EPG SystemIn
The on-screen display controller and formatter (OSDCF) 124 functions as an I/O controller, an on-screen display controller (OSD), and also as a closed-caption data (CCD) VBI data slicer. The VBI (vertical blanking interval) is a dead space in a TV signal that allows a television signal to reposition the scanning electron beam from the bottom to the top of the screen. Digital data, for example close-captioned data, is modulated onto the carrier signal during the VBI.
The OSDCF 124 includes an analog to digital converter (ADC) which digitizes the incoming baseband video and extracts digital information transmitted in the VBIs. As explained more fully below, messages for transmission to the database are transmitted in the VBIs. These messages are transferred to the processor 100 which executes a data base engine process to build or update the database.
The OSD part of the OSDCF 124 includes cache memory, character memory, timing functions, and an external RAM. The OSD reads high level graphic commands sent from the processor 100 and stores graphic information in the RAM. The OSD outputs red (R), green (G), blue (B), graphic data which is used to generate a local video signal. Depending on the state of the user input interface, described below, the OSD local video output or the incoming live video will be displayed.
Accordingly, screen display graphic data generated by the database engine is transferred to the RAM of the OSD which the generates a local video signal that causes the display screen to be displayed on the television screen.
3. Scheduling Data StructuresThe DBE builds a hierarchical database in the RAM. The hierarchical structure of the database is depicted in
The hierarchy for the schedule data structures, in descending order, is:
A channel data table, depicted in
The entries in the channel data table are changed infrequently and are determined by the location of the subscriber unit and type of services received. Each channel data table entry includes information concerning the channel and a handle to a show list handle table for the channel.
The next data structure in the hierarchy is the show list depicted in
The database, when fully constructed, holds a weeks worth of show lists for each channel. The days of the week are accessed by incrementing the show list handle by two bytes. The show lists are updated each day at midnight GMT with the show list for the day just completed being deleted and the show list for same day next week being added to the database.
The next data structures in the schedule hierarchy are the show title entries, depicted in
Each show title entry includes theme index ID and the text of the show title. Typically, a single show title entry will be referenced by many show lists for different channels, days, and times. Thus, by utilizing handles in the show lists all show lists reference a single show title entry in memory so that memory is efficiently used. Many show title entries have a long life because the show titles may be for series that are broadcast over long periods of time and may be referenced by many showlists since many shows are broadcast by multiple channels.
Each show description entry includes a theme index ID, critics rating, MPAA rating for the show, traits mask bits, year produced, and show description text. Show description entries tend to have a shorter life than show title entries because a description is only valid for a particular episode of a series.
4. Schedule SearchTo obtain schedule information for a particular time and to display the schedule information in the programming grid requires the following steps. For each channel in the channel list, the show list for the day is accessed and scanned. Horizontal blocks for the channel are sized according to the duration of the show slots including and following the selected time. The show title entry referenced by each show slot is accessed and the show title is displayed in the horizontal block corresponding to the show slot.
5. Favorite Channel ListsReferring back to
The user interface and database engine provide screens to facilitate the ordering and selection of channels to be displayed in the guide. A link to the first channel in an ordered channel list is stored in memory. This link is utilized to access the channel table entry for the most favorite channel. The FAVORITE LINK in that channel is accessed and utilized to access the channel table entry for the next favorite channel and so on until a designated delimiter value, e.g., 0x00, indicates the end of the favorite channel list.
The capability of having more than one favorites list can be supported by having multiple FAVORITE LINK fields stored in each channel table entry.
6. Theme Data StructuresA powerful feature of the database is the ability to group shows by theme. The theme IDs stored in the show title and show description entries are utilized to match particular shows to particular themes. For example, a viewer may want to see a listing of all comedy movies.
Each primary category, movies in the example above, has a theme category entry included in a theme category table, depicted in
There is a theme sub category table, depicted in
When the viewer initiates a search for a particular type of show, for example a comedy movie, each channel is inspected and theme IDs of each show listed are compared to theme IDs stored in the comedy entry of the theme sub-category table corresponding to the movie primary category entry.
Information about shows with matching theme IDs is stored in a theme search data structure in a user interface local buffer.
The theme search function requires two calls to the database. The first of these calls initializes the theme search data structure to the first show that matches the theme category for a specific channel entry, including the shows time offset from the search time. The second call will then find the next matching show after a particular offset time, updating the theme search data structure and returning the offset to the next show.
The basic algorithm for theme user interface access is:
-
- 1. for a given starting time, for each channel entry, find the first show that matches the theme criteria on or during this time and create a list. Keep track of the channels that had matches;
- 2. sort the list of shows in time order;
- 3. find the channel with the earliest show in the sorted list;
- 4. place this earliest show into the user interface search list;
- 5. for the channel with the earliest show, request the next show that matches the theme criteria and updated offset time;
- 6. repeat steps 24 until all shows have been located or other specified limit is reached (i.e. search may be for a limited number of matches).
The shows for the selected category are then displayed in time order.
8. Ad Data StructuresAn ad list data structure is similar to the show list. It includes a start time and 24 hours of ad scheduling. The ad list is regionalized and includes an ad slot for each ad to be broadcast for a given day. The ad slot includes a duration and an Ad ID utilized to access an ad entry.
Each add entry includes an ad banner text field, an ad text field, and a pointer to an ad logo, if appropriate. The ad logo includes a graphics file to be displayed with the ad.
9. Building the DatabaseThe data base is built by a data base engine software module operating on the processor. Messages comprising discrete commands are received by the database engine. Examples of commands include a Region Command which specifies channels available for a particular subscriber unit to be included in the Channel Data Table; a Channel Data command including information utilized to form the entries in the Channel Data Table; and Showlist, Show Title, and Show Description commands including SIDs and DIDs referencing areas in memory. The database engine selects only Showlist Commands relevant to channels included in the Channel Table for further processing.
The data base engine creates storage locations in memory for all SIDs and DIDs included in any Showlist. Information included in commands having matching SIDs or DIDs is written to the referenced memory area. In practice the SIDs and DIDs are processed by a hashing system for more efficient searching.
The messages may be transmitted to a subscriber unit in various ways. A system for receiving messages in the VBIs of broadcast programming has been described above. In a DBS system the messages may be transmitted in a dedicated bit stream.
In a DBS system video baseband signals are digitized, compressed, and modulated onto an analog carrier signals. Because of advances in the art of compression, a carrier once used to transmit a single program can now transmit four programs. Typically, in addition to video signals other bitstreams encoding information such as audio, VBI (vertical blanking information data such as closed caption and teletext), program guide information, and conditional access information are provided as separate bitstreams, multiplexed into a composite bit stream, and modulated onto a carrier signal.
Alternatively, the database itself may be transmitted in a digital data stream. For example, in DSS the program guide information is transmitted in block of 3 hours of programming for 36 channels. Programming is digitally modulated onto different bands. As depicted in
A decoder at the viewers location receives 16 carriers and controls a tuner/demodulator to select one carrier. The carrier is sampled, decoded, error-corrected, and demultiplexed to separate the various bit streams. The decoder includes video decoder chips decompress compressed video to reconstruct pictures of virtually any size.
When the viewer accesses the guide the block for that time period is loaded into memory so that the user can interact with the guide. For a future time and different channel there may be a time delay. For example, if the current programming block were B1 and the block currently received is B4 the user must wait for blocks B5, B6, and B7, to be transmitted before the current programming can be received and displayed. The viewer would wait for a time delay equal to the sum of time durations for transmitting each block, i.e., d5+d6+d7. If the program guide block is modulated onto a different band the cable box must tune to the band and wait until the desired block is transmitted on the carousel. So if the guide is accessed for future programming there could be a delay.
For cable the database is built at the SST head end and sent over land-lines to the cable head end. Cable company sends data anyway it wants, VBIs, satellite, digital, etc.
10. User InterfaceThe user interface takes remote control commands as its primary input. In one embodiment a user requests various functions by pressing function buttons on a remote control. In another embodiment, the GUI is utilized with different interactive regions on a displayed screen corresponding to different functions. The user moves the cursor over the interactive region corresponding to a desired function and selects the function to generate command. The particular form of entering a command is not critical and technology for utilizing voice commands may soon be available.
The user interface receives commands and responds with a requested display screen and by performing the function requested by the command. The function performed may be to perform an action such as recording a program, tuning to a channel, accessing a related internet site, purchasing a pay-per-view program, or purchasing merchandise. The data and format of each screen is dependent on the previous screen, time of day, the contents of the data base, the command received, and other parameters. A state table is used to define the screen flow.
For every defined screen, there is an entrance function, an exit function, an update function, and an array of request-handling functions. The entrance function is called when a state is first entered to collect all necessary data and format the screen. The exit function is called to release memory and data for the screen. The update function is called once per minute to update the screen time and to redraw the screen if any information displayed on the screen needs to be updated.
Once in a particular state, the table contains a reference to another software function corresponding to each key on the remote control or to each interactive region on the screen. These referenced functions will be executed whenever an associated remote control button is pressed or interactive region is selected.
For example, if the user wishes to record a program, in the GUI embodiment, the viewer moves the cursor over the record interactive region which is then selected to request that the recording function be performed. A confirmation screen will then be generated. Once the user confirms the recording request, an entry is made in a recording queue. A record daemon is then called from the real-time executive to examine the queue and manage recording functions.
The screens are displayed by the on-screen display (OSD) controller based on graphic display commands issued by the database engine. Among the primitive commands need to draw system display screens are the Erase Screen Command; Draw Rectangle Command; Save Rectangle Command; Restore Rectangle Command; Move Rectangle Commands; Write ASCII String Command; and Draw Channel Icon Command.
Each screen includes areas that are constant and based on code and data stored in non-volatile memory and variable areas such as show titles and descriptions which utilize data stored in the database. As described above in the description of the database engine, the database is structured to facilitate efficient searching for information, generally in the form of ASCII text strings, stored in the database. Additionally, graphics files are also being stored in the database to be displayed in windows of the display screen.
The available data, displayed on television 200, can emulate what a computer on-line user normally sees when accessing the internet through a personal computer. This television schedule data can also be further enhanced to “tie into” the televisions show that the user is viewing. Alternatively, accessory 202 may be replaced by accessory 222 which is attached to set-top box 220 (e.g., a cable box). The data provided via the on-line information provider is then transmitted to television 200 over line 240. Similarly, accessory 232, attached to VCR 230, can be used to obtain the television schedule data. The data would then be transmitted from VCR 230 to television 200 over line 250.
In another embodiment, the database with the television schedule information is located in memory 206 within television 200. Controller 204 is used to obtain the data from memory 206 so that it can be displayed on television 200. Alternatively, the database with the television schedule information could be located in memory 226 (within set-top box 220) or in memory 236 (within VCR 230). Controller 224 or controller 231 would be used to obtain the data which would then be sent to television 200 for display via line 210 or line 250. Therefore, the technology that enables the television schedule information to be provided from a database to a television for display is not specific to any given data system. In summary, this technology can be resident in the user's set-top box 220, television 200, VCR 230, personal computer or the like.
The television schedule information provided from a database can be used to provide information which is independent of the viewer's program choice. For example, from a television schedule guide, the user can utilize remote control 210 to press a Services button. This Services button can be located on remote control 210 or within the television schedule guide display. When the Services button is pressed, the user is given choices such as News, Weather, Sports, Scores, Financial Data, Local Traffic, etc. Using remote control 210, the user can then select the area or title of interest, and the associated information from the database is provided. If accessory 202 is used, a modem accesses the online service which provides the information from the database. Once this connection is made, the user has two-way communication with the on-line service provider. The user can then go deeper into the given selections or, if requested and keyboard 262 is available, can access the Internet and enter chat rooms or other interactive services. In the preferred embodiment, keyboard 262 is either an IR keyboard or connected to port 260 on accessory 202.
In yet another embodiment, a television program title and/or a program's content is contextually linked to an on-line service or to an available database. In this arrangement, a user, in conjunction with the data made available through an electronic program guide (or navigational system), can link, search, select, and/or initiate a subscription to more information relating to specific areas of interest or concerns associated with a program or a program's title. In the preferred embodiment, a user of an electronic program guide (e.g., as described above) can conduct a search for information about a particular program/television show or for information relating to the show, the actors, the actresses, the show's theme, other broadcast times or sources, and other related information through selection via a user interface. This linking of program title and/or program content to additional related information could be operable whenever a program title is accessible in a electronic program guide. Additionally, this linking could be available whenever a user requests it via the currently tuned program.
For example, a user previewing the program such as a movie (e.g., “Casablanca”) can receive information regarding (1) the actors and actresses in that movie, (2) other movies released during the same time period, (3) associated available products, (4) related travel packages, and (5) advertisements and promotions available through primary, secondary or third party vendors, other broadcast times or sources. Utilizing a user interface such as remote control 210 or keyboard 262, the user can indicate to the electronic program guide what information they would like to view on television 200. The electronic program guide then lists a selection of choices for the user. In the preferred embodiment, the choices are associated with the context of the selected program and can be changed via the electronic program guide supplier. In the “Casablanca” example, the choices might be (1) Other Humphrey Bogart Movies, (2) Other Lauren Bacall Movies, (3) Other Movies Released in the Same Era, or (4) Associated Products, other broadcast times or sources. The user selects from the presented choices, and the electronic program guide contacts and communicates with the database of available information for more detailed information relating to the user's choice. Once contact and communication is established between the user and the database of available television information, the electronic program guide acts as an agent to assure that the information flow and appropriate data is exchanged. At this point, the user can delve deeper into the available information by selecting from a series of further choices or related topics. For example, if the user chooses (1) Other Humphrey Bogart Movies option, the electronic program guide contacts and communicates with the selected database of available information. The database of available information is then used to collect the requested data of other Humphrey Bogart movies. The selected choice is transmitted and used by the electronic program guide as its contextual reference for the search. A list with the search results is then displayed on television 200.
Once the user sees the list of broadcast times or sources for “Casablanca,” or other Humphrey Bogart movies, the user can select any of the available titles for recording or watching, or digital storage when digital program directories, libraries, or archival sources are available. In the preferred embodiment, each time the available database is contacted and searched, previously selected movies can be identified. In addition, a user can select certain types of programs to be recorded, watched, or retrieved for digital storage before any particular program is available to the electronic program guide. Moreover, each time a connection is made to an on-line service, the software can search the database and set the selected types of programs to be recorded and/or retrieved for digital storage. These features enable a consumer to never miss a favorite program.
The system and method of the present invention may be configured to automatically or manually customize the television schedule guide to an individual viewer or a group of viewers, e.g., a family. In this embodiment, the remote control device may be used to select certain programs, and a memory stores the television programs that have been selected by the viewer. The programs can be selected for a variety of reasons, such as a designation of the program as a favorite, placing a reminder to watch the program or, when the television schedule system includes a recording device, placing an automatic reminder to the program guide to record the program or, when the television schedule system includes a means of digital storage, automatically downloading or providing an easy confirmation process for downloading the program. The user may also customize specific preferences based on a program title. Through a series of repetitive operations, the electronic program guide can select programs, titles or services that the user would likely be interested in. This can be accomplished through a user interface wherein the user answers preference or choice questions, or through heuristic learning accomplished through the electronic program guide. The electronic program guide would include software for performing this customization.
In an exemplary embodiment, the system includes a database containing each program within the television schedule and/or listing information. The database may be included within a computer integrally combined with the television (e.g., PCTV), a computer that is coupled to the television through suitable lines, or the database may be accessed from a remote computer, e.g., via the internet or other communication medium. Within the database, each program is associated with a variety of criteria or features, such as particular actors, actresses, directors, the type of movie (e.g., action, comedy) and the like. When the viewer selects a program as a favorite, for example, he or she will have the option of designating the criteria or reason(s) that the program is a favorite (i.e., actor, director, etc.). The computer will include a processor and suitable software for automatically searching the database for other programs having the same criteria. The processor will automatically place the programs that include the designated criteria into the selection window and provide visual indication of each program in the matrix of cells in the program guide. In this way, the program guide will automatically customize itself to the individual viewer to facilitate use of the television schedule. A more detailed description of this method can be found in commonly assigned co-pending U.S. Provisional Application Ser. No. 60/015,648, filed on Apr. 19, 1996, the complete disclosure of which has previously been incorporated by reference.
In another embodiment of the invention, the system will automatically record television programs that are listed as a user's “favorite” or in some other category (i.e., contextual recording). In this embodiment, a user identifies to the system (or the system automatically identifies) favorite subject matters, actors, actresses, etc, as described in detail above. For example, the user may input into the system that he/she would like to add Jerry Seinfeld to the “favorites” list. Thereafter, the system tags any program it finds where Jerry Seinfeld is involved (i.e., he is a guest on the Tonight Show). In addition to tagging the show according to this embodiment of the invention, the system will automatically program the VCR or similar recording device to record any or all of the shows with that tag. The user may then view the contextually recorded programs at any time he or she desires. Thus, the system will constantly search for any show that includes Jerry Seinfeld and record that show, episode, or only the portion of the show that involves Jerry Seinfeld. The user will then have a list of all the shows or some of the shows that feature Jerry Seinfeld, and can view these shows at his or her leisure.
In the embodiment of the present invention shown in
The user can further access the internet by choosing Network from the guide using the user interface. Cable modem 318 accesses the internet, and once connection is made, the user has two-way communication with on-line service providers. The user can then access the different on-line services. For example, a user viewing a sporting event may press the Services button, and a different menu will appear with the following choices: (1) Sports Scores, (2) Current Game Statistics, (3) Current Player Statistics, and (4) Associated Products. If the user selects (4) Associated Products, the software, will notify the cable modem and instruct the cable modem to establish connection with an on-line service provider. The on-line service provider then lists a series of selections associated with the game (e.g., 49er's hats, Giant's Baseball Bats from Louisville Slugger, Nike Spiked Football shoes for Pop Warner, etc.), and the user can interact with the service provider accordingly.
In one embodiment, the computer network 360 includes a plurality of servers 350 and a database 370. The database 370 includes television schedule information, which may be retrieved and viewed on PCTV 362. Servers 350 represent file servers having files, databases or the like. In a representative embodiment, the computer network is the World Wide Web and each server 350 is set up as a network file server addressable by a unique address. For example, the servers 350 may be configured to follow a common network protocol such as the Transmission Control Protocol (TCP), and the Internet Protocol (IP) (commonly referred to collectively as TCP/IP), and may be assigned a unique IP address or internet domain name. For example, the servers may be assigned the domain name “invoice.com”. The servers 350 may also have some form of server software installed to permit the system to function as an internet graphics server. For example, the servers 350 may be configured with HyperText Transport Protocol (HTTP) server software to permit the system to function as an internet “world wide web” (WWW) server. In this embodiment, PCTV 362 may access servers 350 via the WWW using WWW compatible software by indicating the system's uniform resource locator address: “HTTP://www.invoice.com”.
In another embodiment, the television schedule guide (not shown) is stored as one or more files (e.g., a websites or internet broadcast transmitters) on one of the servers 350, which can be accessed by any viewer having access to the World Wide Web. The television schedule guide or website may be configured for viewing and interacting with television information directly on-line, or it may be configured for downloading the information into a computer hard drive or other suitable processor. The guide will provide listings information for all channels in the viewer's local cable lineup. Preferably, the guide will be capable of creating personalized TV listings with search and sort features (discussed below) that allow the viewer to call up favorite programming choices based on categories, such as channel, day, actor, movie genre or other desired categories. The guide may also include other information about programs, such as ratings, stars, type of movie (e.g., suspense, comedy, drama, western, musical, children, biography, horror, etc.). This information may be provided on the actual website and/or internet broadcast transmitter, or the website and/or internet broadcast transmitter may provide means for linking the viewer with other websites and/or internet broadcast transmitter to provide more information on certain topics and categories.
Since the television guide website and/or internet broadcast transmitter may be accessed from virtually any location in the world, it will preferably include a mechanism for selecting a region from which the television guide is applicable. For example, the television guide may include television schedule and/or listing information from a variety of countries throughout the world, or the information guide may be limited to the United States. To obtain television schedule information for a particular region, the user can select an appropriate state, city, or other region, such as a region covered by a particular cable company. Alternatively, the television schedule guide may provide information for certain networks and stations (instead of particular channels or stations), such as CBS, FOX, HBO and the like, that are global to all regions of the country. With this configuration, the television guide may include a time zone selection so that the guide can automatically be configured for the particular time zone in which the user will watch television.
In one embodiment of the present invention, the system will include a search engine that allows the viewer to search for particular types of programs that will be broadcast within a certain period of time. The search engine may include categories such as title, description, category, dates, day parts, channels, actor/actresses, directors, etc. In addition, the viewer may obtain more information on the programs within each category. For example, the guide could provide information on movies in many categories, including theatrical, made-for-TV movies, Spanish, French, etc. The guide can tell you what Clint Eastwood movies are on this week, how many Star Trek episodes this weekend, or whether your favorite basketball team is on TV this Saturday. The on-line viewer may customize their own listings by title, year, actors, director, run themes, critical star rating, MPAA, warning lines, video laser disc, full descriptions, genre, and holidays with themes. In another example, the guide could provide information on shows and series, including network shows, first run, British, PBS, cult favorites, syndicated shows, talk shows, local productions and obscure programs. The user may sort by, for example, title, episode run times, genre, original air date, etc.
In another aspect of the invention, the web site television guide will include a highlight section that highlights particular programs that will be broadcast during the day, week or month. For example, the guide may have a web page that picks a “hot pick” for each day of the week, and provides a picture or video together with descriptive information, such as an editorial comment, on the video hot pick. In addition, the user may be able to move to other areas where more information can be provided on particular movies such as articles, interviews with actors/actresses, editor's choice reviews, commentaries, etc.
In another aspect of the invention, the system will include a variety of files on the same or different network servers that allow the user to interact with other users, program sponsors, advertisers, etc. For example, the system may have a web site that allows viewers to chat about certain programs (each program itself may have its own web site). In addition, the system may include a “virtual agent” that searches existing websites and/or internet broadcast transmitter on the internet and points to websites and/or internet broadcast transmitters that may interest the viewer. The virtual agent will learn from previous user choices to customize the television guide for each particular viewer.
PCTV 402 may include a memory and a processor with appropriate software (not shown) for searching and retrieving information from databases on the Internet 406 based on user selections. Alternatively, this function may be provided through Internet 406, television guide database 408 or through the commercial provider 410 or broadcaster 412. In this embodiment, PCTV may access, download, and/or automatically upgrade an application or applet (e.g., a Java™ applet) having the appropriate software to run the television schedule guide on a display, e.g., a computer monitor, television display or other user interface.
In one example, the viewer is watching a sports event, such as a football game. One or more icons or other visual indicators are located on the television screen in a convenient location, such as the top, right corner. One of these icons may be an icon that represents the television schedule guide. The viewer can move a cursor or other visual indicator to the television guide icon and click thereon to open up the television guide as discussed in detail below. Another icon may be provided, for example, by a commercial sponsor. Moving into and activating this icon allows the viewer to link with a database provided by the commercial sponsor, or to a portion of the television schedule guide database that allows the viewer to purchase an advertised product, make a monetary contribution, respond to a survey, answer a question, or participating in contests with other viewers, for example.
By way of example, Budweiser may provide a database 410 that allows the viewer to purchase a coupon for a free six-pack or other items, such as Budweiser T-shirts, hats, etc. The viewer may purchase the coupon, hats, or T-shirts directly through the commercial sponsor, or through a delivery system provided by the television schedule guide (discussed in detail below). This type of advertising allows the advertiser to directly target a particular program, and it allows the viewer to directly purchase the products during the advertisement. In addition, viewers will not forget the advertisement or simply lose motivation to spend money or request information after the commercial or program is over.
In another example, the television network that is broadcasting the program may provide an icon that allows the viewer to access a database 412 providing more information about the football game, previews of upcoming programs related to the program, such as another football game later on in the week, or other products and services related to the football game.
As shown in
Preferably, program matrix 508 will also be shaded to indicate the portion of each show that has already been presented. For example, as shown in
As shown in
The program guide may also include a variety of additional areas to facilitate use of the television schedule system, present information to the viewer or advertise programs or other products. For example, a scrolling commercial message 524 may be located underneath program matrix 506 that advertises programs or products from program sponsors, etc. The viewer may navigate to message 524 to receive more information or to purchase the product or program.
This function of ordering items is not limited to videos. For example, the program may access other contextual linked services such as a commercial store, etc., to allow the purchaser to buy a wide variety of different services or goods directly or indirectly linked to a particular program. For example, an Info Menu for Monday Night Football may allow the viewer to scroll through submenus that allow the viewer to purchase Washington Redskins' caps, Minnesota Vikings' caps or any NFL cap. The viewer has a choice to follow a program's link back to the commercial area where a larger selection of items and services are available. A product like the cap above may lead the viewer directly to an NFL proshop, whereas a link to a movie on demand may lead back to a commercial film library.
Although the foregoing invention has been described in detail for purposes of clarity, it will be obvious that certain modifications may be practiced within the scope of the appended claims. For example, the viewer can automatically tune to a desired program or can select different programs for automatic recording. For more information on automatic tuning and automatic recording, see U.S. Pat. No. 4,706,121 B1 and U.S. patent application Ser. No. 08/423,411; this patent and this patent application are, like the present patent application, assigned to Starsight Telecast, Inc. U.S. Pat. No. 4,706,121 B1 and U.S. patent application Ser. No. 08/423,411 are hereby incorporated by reference in their entirety for all purposes.
It should be also noted that the present invention is not limited to a television schedule as shown in the enclosed figures. For example, in another embodiment of the invention, a program listing is provided that lists a series of television programs that are available for viewing. This listing can include, for example, a list of movies that are available in a movie library that can be accessed and viewed by the user (e.g., the Turner Classics Film Library or Pay-Per-View programs, such as sporting events or movies). Alternatively, the program listings can be related to digital programming. In this aspect of the invention, the television program is available to access or download for an extended period of time rather than being scheduled as a single live event. Thus, a digital archive of movies, program shows or previously played sporting events can be available to the user. This digital archive may be available through a database directly coupled to the electronic program guide, or on a remote database, such as the World Wide Web, Internet, or the like. In this embodiment, the television guide may be used to both: (1) show when the television programs are first available to the user (i.e., a schedule); and (2) list the shows that have been digitally recorded and, therefore, are available to the user at any time.
In one example of this embodiment, a Jerry Seinfeld fan can browse through a list of previously played Jerry Seinfeld episodes. The episodes can be arranged chronologically, by subject matter, or other convenient methods. Upon reaching one of the episodes in the list, the user may then find out more information about the episode, such as a brief abstract on the episode, when it was first made available to the public, etc. Alternatively, the user may contextually link with other databases, such as the Internet or World Wide Web, to find out more information about the program (e.g., chat with other Jerry Seinfeld fans, read reviews on that particular episode, etc) If the user wishes to play or record the episode, the user may do so by the methods described above.
Claims
1-21. (canceled)
22. A method for customizing an interactive media delivery system with content from a remote database, the method comprising:
- displaying an interactive media delivery system display;
- monitoring user interactions with the interactive media delivery system to determine one or more user interests;
- searching one or more remote servers to locate content that matches the determined user interests; and
- customizing the interactive media delivery system display to include the located content.
23. The method of claim 22 wherein searching one or more remote servers comprises searching the Internet.
24. The method of claim 22 wherein customizing the interactive media delivery system comprises customizing the interactive media delivery system based on the determined interest of one particular user where more than one user interacts with the interactive media delivery system.
25. The method of claim 22 wherein customizing the interactive media delivery system display to include the located content comprises listing an Internet website that matches the determined user interests.
26. The method of claim 22 wherein customizing the interactive media delivery system display to include the located content comprises listing an Internet broadcast transmitter that matches the determined user interests.
27. The method of claim 22 wherein the interactive media delivery system is available to a television equipment device.
28. The method of claim 22 wherein the interactive media delivery system is available to a computer.
29. A system for customizing an interactive media delivery system with content from a remote database, the system comprising:
- an interactive media delivery system display;
- a processor configured to: monitor user interactions with the interactive media delivery system to determine one or more user interests; search one or more remote servers to locate content that matches the determined user interests; and customize the interactive media delivery system display to include the located content.
30. The system of claim 29 wherein the processor searching one or more remote servers comprises searching the Internet.
31. The system of claim 29 wherein the processor customizing the interactive media delivery system comprises customizing the interactive media delivery system based on the determined interest of one particular user where more than one user interacts with the interactive media delivery system.
32. The system of claim 29 wherein the processor customizing the interactive media delivery system display to include the located content comprises listing an Internet website that matches the determined user interests.
33. The system of claim 29 wherein the processor customizing the interactive media delivery system display to include the located content comprises listing an Internet broadcast transmitter that matches the determined user interests.
34. The system of claim 29 wherein the interactive media delivery system is available to a television equipment device.
35. The system of claim 29 wherein the interactive media delivery system is available to a computer.
36. An interactive media delivery system with content from a remote database, the system comprising:
- means for displaying an interactive media delivery system display;
- means for monitoring user interactions with the interactive media delivery system to determine one or more user interests;
- means for searching one or more remote servers to locate content that matches the determined user interests; and
- means for customizing the interactive media delivery system display to include the located content.
37. The system of claim 36 wherein the means for searching one or more remote servers comprises means for searching the Internet.
38. The system of claim 36 wherein the means for customizing the interactive media delivery system comprises means for customizing the interactive media delivery system based on the determined interest of one particular user where more than one user interacts with the interactive media delivery system.
39. The system of claim 36 wherein the means for customizing the interactive media delivery system display to include the located content comprises means for listing an Internet website that matches the determined user interests.
40. The system of claim 36 wherein the means for customizing the interactive media delivery system display to include the located content comprises means for listing an Internet broadcast transmitter that matches the determined user interests.
41. The system of claim 36 wherein the interactive media delivery system is available to a television equipment device.
42. The system of claim 36 wherein the interactive media delivery system is available to a computer.
Type: Application
Filed: Aug 20, 2007
Publication Date: Aug 7, 2008
Inventors: Steven M. Schein (Menlo Park, CA), Sean A. O'Brien (San Jose, CA), James Jay Leftwich (Palo Alto, CA), Susan Broughton (Tracy, CA)
Application Number: 11/894,606
International Classification: H04N 5/445 (20060101);