Electronic television program guide schedule system and method
An electronic program schedule system which includes a receiver for receiving broadcast, satellite or cablecast television programs for a plurality of television channels and a tuner for tuning a television receiver to a selected one of the plurality of channels. A data processor receives and stores in a memory television program schedule information for a plurality of television programs to appear on the plurality of television channels. A user control apparatus, such as a remote controller, is utilized by a viewer to choose user control commands and transmit signals in response to the data processor which receives the signals in response to user control commands. A television receiver is used to display the television programs and television program schedule information. A video display generator receives video control commands from the data processor and program schedule information from the memory and displays a portion of the program schedule information in overlaying relationship with a television program appearing on a television channel in at least one mode of operation of the television programming guide. The data processor controls the video display generator with video control commands, issued in response to the user control commands, to display program schedule information for any chosen one of the plurality of television programs in overlaying relationship with at least one television program then appearing on any chosen one of the plurality of channels on the television receiver.
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation of U.S. patent application Ser. No. 09/410,853, filed Oct. 1, 1999, which is a continuation of U.S. patent application Ser. No. 09/114,811, filed Jul. 13, 1998, now U.S. Pat. No. 6,661,468, which is a continuation of U.S. patent application Ser. No. 08/247,101, filed on May 20, 1994, now U.S. Pat. No. 5,781,246. These prior applications are hereby incorporated by reference herein in their entireties.
SUMMARY OF THE INVENTION
It is accordingly an object of the present invention to provide a system that will allow the user to view a broadcast program while, at the same time, interactively viewing program schedule information for other programs.
It is another object of the present invention to provide the user with the ability to select from among a plurality of display formats for the program schedule information.
It is yet another object of the present invention to indicate to the user of the program schedule system those keys on the remote controller active in the particular mode of operation of the system at the time of use.
It is a still further object of the present invention to provide the user of the electronic program schedule system with the capability of setting programmable reminder messages for any future program.
It is yet a further object of this invention to provide the system user with comprehensive information about pay-per-view events, premium services or other packaged programming to which the user does not subscribe and the capability to automatically purchase such programming on demand or impulse.
It is another object of the present invention to provide an electronic guide system that provides a reliable and efficient method of updating or replacing the application software programs that implement the electronic guide at the user sites.
It is still another object of the electronic program guide to operate as a shell or window to provide the user with the capability to access other applications or information systems which are not part of the electronic program guide application or data.
It is yet another object of the electronic program guide to provide a system whereby video promotion of television programs and services are functionally linked and visually displayed in an integrated fashion to facilitate the marketing and sale of such programs and services.
It is still a further object of the present invention to provide password control for access to individual programs, as well as channels, using a protected interactive flexible and uncomplicated on-screen interface.
Another object of the present invention is to provide the user with current programming information for all programs as the user surfs through the available channels.
It is yet a further object of the present invention to provide a system in which the user can access his current billing information on demand.
It is another object of the present invention to provide a system which overlays television program listings against varying background views.
It is yet another object of the present invention to provide an improved display of text in the grid cells comprising a page of television program listings.
These and other objects of the invention are achieved by an electronic program schedule system which includes a receiver for receiving broadcast, satellite or cablecast television programs for a plurality of television channels and a tuner for tuning a television receiver to a selected one of the plurality of channels. A data processor receives and stores in a memory television program schedule information for a plurality of television programs to appear on the plurality of television channels. A user control apparatus, such as a remote controller, is utilized by a viewer to choose user control commands and transmit signals in response to the data processor which receives the signals in response to user control commands. A television receiver is used to display the television programs and television program schedule and other information. A video display generator receives video control commands from the data processor and program schedule information from the memory and displays a portion of the program schedule information in overlaying relationship with a television program appearing on a television channel in at least one mode of operation of the television programming guide. The data processor controls the video display generator with video control commands, issued in response to the user control commands, to display program schedule information for any chosen one of the plurality of television programs in overlaying relationship with at least one television program then appearing on any chosen one of the plurality of channels on the television receiver.
BRIEF DESCRIPTION OF THE DRAWINGS
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
An input signal 11 is connected to a receiver 12, which receives a transmitted data stream from a data provider. The data stream may contain, for example, information about programs or services available in a particular market, geographical or otherwise. The input signal 11 can originate, for example, as part of a standard broadcast, cablecast or satellite transmission, or other form of data transmission. The data provider is a program information provider, the satellite uplink manager, a local cable operator, or a combination of these sources, and the data stream contains program schedule information for all television programs and other services available in the operator's geographical market.
The data stream may be modulated and then transmitted on the cable line in any number of ways, including as part of a dedicated channel transmission operating at a frequency of, for example, 75 MHz. Those of skill in the art will understand that numerous other transmission schemes can be used to transmit the data stream, such as embedding it in the vertical blanking interval of a program broadcast signal. As will be discussed in greater detail below, according to the present invention, the transmitted data stream may additionally contain application software for implementing or updating the electronic program guide at the user site.
The transmitted program schedule data or application software is received by the receiver 12 on signal input line 11. The received signal is passed from the receiver to a data demodulator 13, such as a QPSK demodulator or a GI Info-Cipher 1000R, which demodulates the transmission and passes it to a buffer 15.
A microcontroller 16, such as a M68000EC, receives data passed to the buffer 15. Bootstrap operating software, which may be used for capturing electronic program guide application software updates, is stored in a read only memory (ROM) 17. The microcontroller 16 uses the received program schedule information to build a database by storing the data in appropriately organized records in dynamic random access memory (DRAM) 18. The stored schedule information can be updated on a periodic basis, such as hourly, daily or weekly, or at any time when changes in scheduling or other factors warrant an update. The system also includes a system clock 19.
Alternatively, the program schedule information could be supplied in a ROM, disk or other non-volatile memory, or it could be downloaded to a storage disk or other data storage device. The invention herein is not directed to the particular method of transmission or reception of the schedule information.
If the microcontroller 16 recognizes the received data as application software which controls the program schedule system, as opposed to program schedule information, it stores it in non-volatile memory, such as an electrically erasable programmable ROM (EEPROM) 20 or battery-backed static RAM (SRAM). This configuration allows revised or replacement versions of the application software to be downloaded directly from the software developer to the user site through the cable or other transmission system.
In the case where an EEPROM is utilized, revised or replacement versions of the application software downloaded from the developer are first stored in DRAM 18 by the microcontroller 16, under direction of the downloading operating software stored in the ROM 17. The stored application software can then be checked for accuracy by, for example, a checksum analysis or other verification routine.
After the accuracy of the application software has been verified, the microcontroller 16 initiates a routine to re-program the EEPROM 20, where the application software is permanently stored. The microcontroller 16 will issue proper control commands to a reprogram circuit 21, which is adapted to supply the proper program voltage and logic control signals 22 required to erase and write to the EEPROM. It supplies this program voltage, Vprog, as well as any other required control signals, such as read or write enable, to the EEPROM 20 upon command from the microcontroller 16. After the EEPROM 20 has been electrically erased, the microcontroller 16 initiates transfer of the new application software from the DRAM 18 to the EEPROM 20 for storing.
When a battery-backed SRAM is utilized as nonvolatile memory, the microcontroller stores the revised or replacement version of the application software downloaded from the developer directly in the SRAM, again under direction of the downloading operating software stored in the ROM. The stored application software can then be checked for accuracy by, for example, a checksum analysis or other verification routine.
When power is first applied to the system 10, the bootstrap operating software verifies that the program guide application software is resident in memory. If it is not resident, the bootstrap operating software waits for a download of the software. Once the application software is resident, the microcontroller 16 executes the application program software from a dedicated portion of the DRAM 18. Alternatively, the application software can be executed directly from the non-volatile memory 20. Under control of the program guide application software, the microcontroller 16 first verifies that the program schedule information is resident in DRAM 18. If it is not resident, the microcontroller waits for a download of the program schedule information, as discussed above. Alternatively, if the application program is resident in memory, but the database records containing the program schedule information data are not yet available, the application software can be configured to carry out other tasks, such as allowing the user to carry out functions not requiring the program schedule information data, as well as displaying an appropriate message indicating the database data is not yet available.
When the schedule system is operating, as discussed in greater detail hereinbelow, the microcontroller 16 takes the program schedule information stored in the DRAM 18 and, in conjunction with other downloaded data types such as stored bit maps for the screen configuration and the graphic symbol or logo displays stored in non-volatile memory 20 or, alternatively, in DRAM 18, supplies it to a video display generator (VDG) 23, which in the present embodiment may be a commercially available VGA-type graphics card, such as a Rocgen card manufactured by Roctec. The VDG includes a standard RGB video generator 24, which takes the digital program schedule information sent by the microcontroller 16 and converts it to an RGB format in accordance with the bit map for the particular screen display then being presented to the user on the television receiver 27. The configuration of each screen is shown and discussed in greater detail in the System Operation section below.
The VDG also includes a Video Overlay Device 25, which accepts the RGB video input, as well as an input from conventional television tuner 28, such as a conventional tuner manufactured by General Instrument or a Jerrold DPBB tuner, which supplies a program signal in standard NTSC video format. The overlay device 25 converts and combines the RGB signal with the signal from the tuner 28, and produces a composite NTSC output signal containing both the program signal and the program schedule information, as shown in
The system components identified in connection with
As discussed in detail below, the user may navigate through the program schedule system with a remote controller, such as that shown in
A remote controller suitable for the present invention, such as shown in
The MODE key 38 takes the user through various layers of the electronic program schedule system 10 and generally allows the user to return to a previous screen when he is in a submenu. The up/down direction arrow keys 37A allow a user to navigate through the different TV program channels when the program schedule system is in a FLIP or BROWSE mode, as will be fully described below, and also allow the user to navigate through highlighted bars displayed on the TV screen when in a MENU mode. The left/right direction arrow keys 37B allow the user to navigate through selected time periods when the program schedule system is in the BROWSE mode, as will also be described below. They further allow the user to navigate across subject-matter categories while in the “Categories” submenu of the MENU mode, as well as to navigate across time periods when the program schedule system is in a pay-per-view ordering mode and, in general, navigate in left or right directions to select various icons and other objects. The information, or “i,” key 39 allows the user to view supplemental program and other information during the various modes of the program schedule system. The ENTER 35 key fulfills and inputs a command once the user has made a selection from the remote controller keys. The function and operation of these keys will be made more apparent in the detailed discussion of the FLIP, BROWSE and MENU modes below.
A second embodiment of the remote controller 40 is shown in
This embodiment of the remote controller further includes a number of icon keys 47A and 47B, which correspond to different submenus or modes of the program schedule system. The icons 47A and 47B may also be displayed on the TV screen when the program schedule system is operating. The icon keys essentially replace the MODE key 38 used in the embodiment of the remote controller shown in
The embodiment of the remote controller shown in
The remote controller of
Additionally, each of the functions of the remote controllers can also be integrated into a keypad on the user's cable box or other hardware.
In operation, the electronic program schedule system of the present invention functions as follows.
When the user is viewing a particular program channel on the television receiver, the program schedule system defaults to a FLIP mode, shown in
The programming information contained in the graphic overlay 51 is supplied to the RGB video generator by the microcontroller. In FLIP mode, the microcontroller first searches the program schedule database in, for example, the DRAM 18 to retrieve the programming information for the currently tuned channel 52 corresponding to the current time; i.e., the time at which the user just turned on the television receiver for viewing. The microcontroller 16 then supplies the current channel and program information to the RGB video generator 24 which converts the digital data information to RGB format and supplies it to the video overlay device 25.
In normal operation, the microcontroller 16 defaults to displaying all channels offered by the cable company prioritized by numeric order, which is determined by the broadcast channel position in the radio spectrum or the marketing judgments of local cable operators. Using a “Channel Preference” submenu, or an alternative “Locator” screen, both of which are discussed below, the user can revise the content and/or sequential order of the channels presented to the television receiver 27.
In general, if the user does not issue a change-channel instruction, or other command, from the remote controller 40 within a predetermined time interval while in the FLIP mode, the microcontroller 16 instructs the VDG 23 to remove the graphic overlay 51 from the television receiver, thus presenting only a program signal 55 to the television receiver 27 for viewing. The duration of the predetermined time interval is such that it allows the user sufficient time to read the programming information contained in the overlay. The duration of the predetermined time interval during which the graphic 51 overlay appears is stored in a location in non-volatile memory 20 addressable by the microcontroller 16. The user can change the duration of the time interval, by first entering a Viewer Preference mode, and then selecting an “overlay interval” entry. The microcontroller 16 then causes a user prompt to be displayed on the screen which, for example, asks the user to select an appropriate time period for displaying in the graphic overlay on the screen. Using the numeric keys, the user can input an appropriate response, for example, a period between 5 and 60 seconds, and then depress ENTER. The new interval period is then read and stored by the microcontroller 16 in the overlay time interval location in memory.
If the user issues a change-channel command from the remote controller 40 before or after the predetermined overlay period has elapsed, either by using the up/down direction arrows 43A, or by entering a desired channel number using the numeric keys 42 and then depressing the ENTER key 44, the microcontroller 16 will cause the tuner 28 to tune to the desired channel—either the channel immediately preceding or following the current channel when the up or down arrow 43A is used or the specific channel entered on the numeric key pad by the user—and will also search for and immediately cause to be displayed the current program information for that channel. Thus, as the user flips through the channels, the program schedule information for any selected channel automatically appears in the graphic overlay 51 while the actual program 55 appearing on the selected channel at the particular time occupies the remainder of the screen.
The system can also be configured to issue an error message, such as an audible beep or displayed text indicating an invalid key stroke, if the user depresses either the left or right direction arrow keys while in the FLIP mode.
To initiate the BROWSE mode, the user depresses the MODE switch once while in the FLIP mode when using the first embodiment of the remote controller 31 shown in
In the BROWSE mode, the user is provided with the ability to scan through program schedule information for any channel, including, but not limited to, the channel being viewed, while at the same time continuing to view the TV program previously selected. As shown in
If the user depresses either the up or down direction arrow on the remote controller 40 while in the BROWSE mode, program schedule information for either the prior or next channel is displayed in the graphic overlay portion 111 of the television receiver screen 27, while the tuner remains tuned to the channel program that appeared on the television receiver at the time the user entered the BROWSE mode, as shown in
If, at any time during scanning of the program schedule information in the BROWSE mode, the user desires to tune the television receiver 27 from the program channel currently being viewed to the program channel indicated in the schedule information in the graphic overlay, he simply depresses the ENTER button 44 and the tuner 28 will be tuned to that channel. If the user does not want to view another channel and wishes to exit the BROWSE mode, thus removing the graphic overlay 111 with the program schedule information, he must depress the MODE key twice in the first embodiment of the remote controller 31. The first depression of the MODE key takes the user to the MENU mode, discussed below, and the second depression will take the user to the FLIP mode. Once in the FLIP mode, the graphic overlay will be removed after the duration of the time-out interval has passed. In the second embodiment of the remote controller shown in
When the user first enters the BROWSE mode and begins scanning channels, the schedule information appearing in the overlay portion 111 describes the programs currently playing on any particular channel. In order to view programming information for later or earlier times, the user employs the left and right direction arrows 43B. As a consequence, the system will display future program schedule information for the particular channel previously selected by the up and down direction arrows, whether it is the channel currently being viewed or any other available channel. The schedule information presented includes the name of the program and program start/stop time. The instant embodiment of the system, in order to conserve memory, will not allow the user to view programming information for a time prior to the current time. The system could be easily modified to provide such information if adequate memory is made available. It may be desirable, for example, to allow a user to view schedule information for an earlier time to find a particular show and then allow the user to command the microcontroller to find and display future airing dates of the show, or the microcontroller could simply do this automatically.
When viewing program schedule information for a future time in the BROWSE mode, the displayed time of airing 121 of the particular show 122 is highlighted, as well as the channel number and service indicator 123, as shown in
If while viewing program schedule information for a future time in BROWSE mode the user depresses the ENTER key on the remote controller, the microcontroller 16 will instruct the VDG 23 to display a REMINDER overlay message 130 which, as shown in
Using the remote controller 31 shown in
When the user first enters the MENU mode, the system defaults to selection of the program schedule bar. When a particular bar is selected, the textual description is removed and a plurality of icons or identifying windows are displayed adjacent the identifying icon. In
An alternative MAIN MENU screen 215 is shown in
Once a particular bar in the MENU screen is selected, the user can select a particular icon from the plurality of horizontally selectable displayed icons 65A-65C by using the left or right direction arrow and the ENTER key on the remote controller 40. Each icon contains a graphical symbol appearing in a background window of a particular color. When a particular icon is selected, it is offset from its background window and the color of the window changes. In
The function corresponding to the selectable entries in the MAIN MENU screen will now be discussed with reference to
In the uppermost vertically selectable horizontal bar 61, the first grid icon 65A represents an “All Listings” mode in which the program schedule information is displayed in a grid listing, such as that shown in
In the center of the screen display shown in
In the All Listings mode, a moveable highlighted cursor 185 is used to indicate the currently selected program to the user. The user manipulates cursor movement using the direction arrow keys on the remote controller 40. Furthermore, the entire information display pages upward if the cursor is placed at the bottom of the screen and the down direction arrow is depressed, and similarly pages to the left if the cursor is at the extreme right side of the display and the right direction arrow is depressed. In this way, the user can navigate through the entire program schedule.
The folder icon 65B immediately to the right of the All Listings icon in the top horizontal bar 61 of
As with the All Listings mode, if the user highlights a show which is currently airing, he can immediately tune to that show by depressing the ENTER key on the remote controller 40. If the highlighted show is one that will appear at future time, the user is again given the option of setting a REMINDER message.
The triangular icon 65C at the far right of the TV GUIDE bar 61 in the display of
As with other modes, if a user wishes to tune to a highlighted program that is currently airing, he can do so by simply depressing the ENTER key on the remote controller 40, and if the user wishes to view a program that airs at a future time, the user is again given the option of setting a REMINDER message. In each of the FLIP, BROWSE and MENU modes, a lower case “i” icon appears at a number of occasions in connection with certain program listings, such as movies, such as the “i” 203 shown in
When a user highlights a Pay-Per-View event or service by manipulating the cursor to the desired event or service using the direction arrow keys on the remote controller 40, he can order the event or service by depressing the ENTER button on the remote controller, thus linking schedule, promotional and ordering functions. If the user selects a particular Pay-Per-View event or service in this manner, the programming schedule, system will next present to the user a Pay-Per-View ordering screen such as that shown in
If the user confirms the order, the microcontroller 16 stores the Pay-Per-View ordering information in a location in memory. The ordering information can then be transmitted to the cable operator by the microcontroller 16 either by phone line or on the cable line where the system has two-way communication or other such interactive capability. Alternatively, a computer at the cable operator location can interrogate the memory where the microcontroller stored the Pay-Per-View ordering information. At the appropriate time, the cable operator supplies the Pay-Per-View event or service and it is received by all users who have ordered the program.
The second icon 151 in the Pay-Per-View bar of
The last icon 152 appearing in the Pay-Per-View bar of
If, during FLIP or BROWSE modes, a user views a channel or schedule information for a service not subscribed to by the user, the microcontroller 16 causes an ordering submenu to appear instead of displaying a program signal along with the graphic overlay, as shown in
The third horizontal bar 63 in the MENU mode shown in
The next icon 161 in the Customer Service information bar 63 of
The first option shown in
The Key Lock Access menu shown in
The first subject entry shown in
The key lock access code itself consists of a four digit code, which the user can enter and modify at any time. To do so, the user highlights the fourth vertically selectable entry “Change Key Lock Access Code,” 304 by manipulating the cursor to highlight it using the direction arrow keys on the remote controller. Once highlighted, the user enters a new four digit code or revises the then existing code and depresses the ENTER key. The microcontroller 16 then identifies the new four digit key lock access code and stores it in memory. The user can clear the key lock access code, as well as all other previously activated keys, by moving to the last entry in
The schedule information database record for each program contains a field that corresponds to the program content identifiers in the Parental Guidance category. During operation, the microcontroller checks this field in response to a user command to tune to or order a program, or to display its corresponding schedule information before carrying out the tuning, ordering or displaying function. If the parental guide identifier in the program schedule information database record matches any one of the activated parental guidance identifiers shown in
By manipulating the cursor using the direction arrow keys to highlight the second entry, “MPAA ratings,” 308 the user can also set a key lock access for programs based on their MPAA rating code, as also shown in
As with the Parental Guidance category, once the MPAA rating category has been selected, the user can move horizontally within the category to the active window 306 to select one the five rating codes, i.e., “G” for general audiences, “PG” for parental guidance, “PG-13” for suggested parental guidance, no one under 13 admitted without an adult, “R” for restricted and “X” for x-rated. As with the Parental Guidance category, by selecting a particular rating—by using the left or right direction arrow keys until the particular rating code appears in the active window—and then depressing the ENTER key, the user sets a key lock access for the rating, in which case a key icon appears below the rating code. And, as with the Parental Guidance category, once a key lock access is set, the system will prompt the user to enter the four digit key lock access code anytime a request is made to tune to, order or display schedule information for a particular program having a rating code which matches a rating code for which key lock access has been activated.
The Key Lock Access mode also includes a subject category 303 for controlling access to channels, which may be entitled, for example, “Channel Block” or “Channel Lock.” As with the Parental Guidance 301 and MPAA 308 categories, the user navigates to the Channel Block category 303 by manipulating the cursor using the direction arrow keys on the remote controller and depressing the ENTER key. Once the Channel Block category 303 has been entered, the user can move horizontally to an active window 307, which in
As with the Parental Guidance 301 and MPAA 308 categories, once a key lock access is set for a particular channel, the system will prompt the user to input the key lock access code prior to carrying out an instruction to tune to or order that channel. If the input key lock access code matches the previously stored access code, the user's instruction is carried out. Otherwise, the user's instruction is ignored. Thus, the user can control access to the audio and video program content of any available channel. In this instance, the microcontroller 16 will not allow audio or video program signals to pass to the VDG, but it will allow schedule information to appear for the channel.
An alternative method for effecting lockout of programs is accomplished using a “Lockout” screen, as shown in
To enter the Lockout screen 250 shown in
In the Setup screen 260 of
Once the lockout code is entered and the Lockout screen 250 of
Clearing a previously set lockout code is accomplished by moving the selection cursor to the “Clear” entry 256 in the Lockout Code category 255 and depressing the enter key 44 on the remote controller 40. This causes the microcontroller to clear the lockout code stored in memory, as well as all locks previously set by the user. To change the current lockout code, the user navigates to the “Change” entry 257 in the Lockout Code category 255 and depresses the enter key 44 on the remote controller 40. The user is then prompted to enter a new lockout code, which is subsequently stored in memory by the microcontroller.
To set a lock in either the Movie Rating 251 or Parental Guidance 252 category, the user navigates to the selected entry in
Similarly, to set a lock for a particular channel, the user selects the channel using the selection cursor and then depresses the lockout key. In
Program locks also may be set by title, which can be effected in several ways. For example, when the above-described FLIP or BROWSE mode of the electronic program guide is enabled, thereby causing the title of a program to be displayed along with other program schedule information in a window superimposed on the actual program signal then being received, the user can limit access to the program corresponding to the displayed program information by depressing the lockout key 45A on the remote controller 40. The user also may limit access to the currently tuned program by depressing the lockout key 45A on the remote controller 40 while viewing the program, regardless whether the FLIP or BROWSE modes are enabled. In this instance, the microcontroller first removes the program signal from the display and then accesses the schedule information database record for the program then appearing and sets an appropriate flag to indicate the program has been locked. Also, when viewing program schedule information in the grid or category listings, as discussed above and shown, for example, in
In each of these instances, the microcontroller then stores the program title in a lockout title list stored in memory along with any other titles that previously have been locked out by the user. Individual items in the lockout title list are displayed in alphabetical order in the “Locked Program” window 259 shown in
Once an individual title has been locked out, the microcontroller can be programmed optionally to display an appropriate lockout icon, such as a padlock, whenever program schedule information for the locked program is to be displayed, such as in the window overlay of the FLIP or BROWSE mode, or in the various grid and category displays available in the MAIN MENU displays. The system also may display an appropriate text message if someone tries to access the program signal of a previously-locked program. Of course, once a program is locked, in all instances the microcontroller prevents access to the actual program signal (including both the audio and video portions of the program signal) until an appropriate code is entered or the lockout is removed.
Several methods can be used to block programs at their time of airing. For example, in the case of the Movie Rating, Parental Guidance and Channel categories, the schedule information database record for each program is provided with a field that corresponds to the rating, program content identifier or channel appearing, respectively, in the Movie Rating 251, Parental Guidance 256 and Channel 253 category of the Lockout screen 250 shown in
During operation, the microcontroller checks the appropriate field in the database record in response to a user command to tune to or order a program before carrying out the tuning or ordering function. Additionally, the lockout code also may be used to restrict access to program schedule information. In this instance, the microcontroller also would check the appropriate field in the schedule information database record before displaying schedule information for a program.
If the movie rating, parental guidance or channel identifier in the program schedule information database record matches any one of the locked-out entries indicated in the Lockout screen 250, a Lockout Verify screen 300 is displayed in overlaying relationship with the video signal then being displayed on the television receiver, as shown in
Similarly, in the case of lockout by title, the microcontroller also could check the title field in the schedule information database record and compare it with the list of program titles for which the user previously set a lock. If, as described above, the microcontroller does not maintain a list of the actual titles of programs locked by title, a suitable identifier can be set in a field in the database record to indicate that a program has been locked by title when the user first sets the lock, and, thereafter, the microcontroller could check that field in response to a user request to tune to or order a program, or display schedule information.
An alternative method for effecting lockout involves the use of a portion of the real-time program signal being received by the television receiver. With this method, codes corresponding to a program's rating, parental guidance category, title or channel are inserted into and transmitted along with the program signal, such as in the vertical or horizontal blanking intervals, or on raster scan lines that are not visible on the television receiver. When the program signal is received, these codes are stripped from the program signal and stored in memory. Methods and apparatus for the insertion transmission and reception of digital codes carried on a program signal are known in the art.
After the transmitted codes have been separated from the program signal and stored in memory, the microcontroller can compare them with the lockout criteria set by the user in the Lockout screen and take appropriate action, as described above.
The Setup screen 260 shown in
The next option shown in
In normal operation, the program guide system presents channels to the user in numerical order in response to an up or down change-channel command issued by the user using one of the direction arrow keys on the remote controller. The channel number presentation sequence includes all channels offered by the cable company in the order of which they are modulated onto the channel by the operator.
The program guide system also provides the capability of selecting from among several user-defined channel presentation sequences, which are activated using one of the three “check mark” icon keys 48A, 48B or 48C on the remote controller 40 shown in
To revise the content and/or sequential order of the channels in the Channel Preference list, the user enters the MENU mode of the programming guide system. To enter the MENU mode from the FLIP mode, the user twice depresses the MODE key 38 when using the remote controller 31 of
When first entered, the MENU mode has a screen display such as shown in
In the Channel Preference menu shown in
By selecting channels in sequence from the available list 80 and placing them in the desired order in the preference list 81, the user can select a subset of channels and/or rearrange the default sequence in response to a channel up or channel down command from the user. This is accomplished by highlighting a channel in the available list 80 using the up and down direction arrow keys on the remote controller 40 and depressing the ENTER key 44, which stores the entry temporarily in a buffer.
The microcontroller 16 stores a list of all channels previously entered in the viewer preference list 81. As a particular channel is highlighted by the user when navigating through the available channel list 80 displayed on the left side of the television screen, a window 84 appears adjacent to the particular channel highlighted by the user. If the particular channel already appears in the viewer preference list 81, the system displays a “DELETE” message in the window 84 as a reminder that the channel was previously selected from the available channel list 80 and can only be deleted from the list 81, which is accomplished by depressing the ENTER key 44. If the particular highlighted channel in the list 80 was not previously selected, the system displays a “SELECT” message in the window 84 as a reminder that the particular channel will be selected for addition to the viewer preference list 81 if the user depresses the ENTER key 44. The microcontroller 16 inserts a selected channel at the bottom of the list 81. In this manner, the user can select or delete channels from the viewer preference list in any desired order.
The available channel list 80 may also be provided with categorical entries 83, such as movies, news, sports or children's shows. The user may also highlight any of these entries and put them into the viewer preference list 81. If the user does include a category in his viewer preference list 81, when the user issues channel up or down commands, the system will display, in sequence, first the user's selected preferred channels in numerical order and then all channels having a program whose content corresponds to the selected category or categories at the time.
Once the user has revised the channel preference list 81 in the described manner, the microcontroller 16 will follow the stored user-specified channel sequence in response to a change-channel command made by the user employing one of the direction arrow keys. To activate the viewer preference list, the user depresses one of the three check-mark icon keys 48A, 48B or 48C on the top of the remote controller shown in
To deactivate a previously selected viewer preference list, the user toggles the appropriate check-mark icon key on the remote controller 40 of
Alternatively, the viewer preference list 81, if activated, can be used to control tuning and display of schedule information only in selected modes, such as only in the FLIP mode, thus allowing the user to tune and view corresponding schedule information only for those channels entered in the preference list 81 in the FLIP mode, while viewing all channels and corresponding schedule information in all other modes.
In this latter configuration, as well as in the instance where no channel preference list is activated and the system is in default mode, if a channel appears in the viewer preference list 81 that corresponds to a service not subscribed to by the user, the microcontroller 16 causes an ordering submenu to appear instead of displaying a program signal along with the graphic overlay, as shown in
The program guide also may be configured with a Locator screen 201, as shown in
In the example shown in
In addition to aiding in channel selection, the Locator screen 201 also provides the user with the ability to conveniently define favorite channel lists. To do so, the user first moves the selection cursor to the desired channel by using the direction keys 43A and 43B or numeric digit keys 42 on the remote controller 40, and then depresses a favorite channel key 46A provided on the remote controller 40, which causes the display to change in some manner or characteristic as an indication that the channel has been selected as a favorite channel, such as by changing the color of the channel identification text or the text background, by displaying an appropriate icon or by some other appropriate identification scheme. In the remote controller 40 shown in
Also, if multiple favorite channel lists are being used, the user would depress the appropriate favorite channel key on the remote controller to select a particular list before depressing the favorite channel key. For example, as discussed above, the remote controller 40 shown in
The Locator screen 201 may be accessed via several paths. For example, it may be included as a virtual channel that is conveniently positioned in the channel-tuning sequence, such as between the highest and lowest available channel numbers—for example, a virtual channel 0. To the user, such a virtual channel appears to be a conventional channel. However, it requires no additional bandwidth as a carrier. For example, it can be digitally produced at the subscriber station or included in an appropriate blanking interval in existing bandwidth frequencies. In this manner, the virtual channel is accessible either by entering the corresponding channel number using the numeric digit keys 42 on the remote controller, or by using the up and down direction keys 43A to wrap around from the highest to the lowest channel number, or vice versa. As shown in
In addition to Channel Preference or Favorite Channel keys, the remote controller 40 can also be supplied with a number of user-activated category preference icon keys, e.g., movies, sports, or children's programming. The system can be adapted to present to the user only those programs meeting particular preference category when it is activated by the user. As with the Channel Preference icons, the microcontroller may display the icon corresponding to the activated preference category to remind the user of the currently activated mode of system operation.
The question mark icon 162 at the far right of the third horizontal bar in the menu of
The icons appearing in the last horizontal bar of the MENU mode identify certain interactive and/or other types of information services which the programming system, acting as a gateway, makes available to the user as shown in
For example, if the user initially selects the “X*PRESS” icon appearing in the last horizontal bar, he is presented with a submenu such as that shown in
Alternatively, the remote controller 40 can be supplied with a plurality of content-specific keys corresponding to a plurality of content-specific categories of programming, e.g., a Sports key, News key, Movie key, etc. When the user depresses a content-specific key, a content-specific mode is initiated. In
As discussed above, coding can be accomplished using any number of methods, such as by including an appropriate code in the vertical blanking interval of the program signal, or in an appropriate memory location in the database record of the program schedule information, or if the schedule information is being received on a broadband network, by including it in an appropriate blanking interval. The user activates a content-specific mode by depressing the appropriate content-specific key in any mode of operation of the electronic programming guide, including the aforedescribed FLIP, BROWSE or MAIN MENU modes, as well as when no schedule information is being displayed and only a program signal is visible on the television receiver. Once a content-specific mode is requested by the user, the microcontroller immediately and directly enables the content-specific programming criteria, and maintains it for all operating modes of the guide until disabled, which can be accomplished, for example, by toggling the Sports key 49.
Instead of a dedicated content-specific key, such as Sports key 49, the system may be configured with a single, generic content-specific key, which, when activated, would cause the microcontroller to display a content-specific menu containing a list of all content-specific categories available to the user. The user then could highlight a particular category by manipulating the selection cursor using the direction arrow keys on the remote controller and select it by depressing the ENTER or OK key 44. As an alternative to using a content-specific key on the remote controller, access to the content-specific menu can be effected by providing an appropriate identifier in another menu screen of the electronic guide, such as in the LOCATOR, SETUP or MAIN MENU screens.
In addition to blocking all non-selected content-specific programming when a particular content-specific category has been selected, the microcontroller can be programmed to enable all added-value programming or services that are specially related to the selected content-specific category. For example, if the user activates a Sports content-specific mode, the microcontroller, in addition to allowing only sports programming or schedule information related to sports programming to be displayed, will proactively seek out and enable all sports related added-value services, such as related trivia or video games, up-to-date scores while a game is in progress, team schedules, replays of prior games of the selected teams or players, ticket or souvenir purchasing, etc. Thus, the information available from the programming or service can be integrated into the environment of the electronic program guide. Rather than simply passing control to another service as described above, in this manner the electronic program guide would function as a system integrator or interface to combine the available added-value information into a package within the electronic guide environment, thus essentially creating a series of modular electronic program applications corresponding to a variety of available content-specific categories.
The Setup screen shown in
One of the novel features of the disclosed invention is the textfit system. The preferred embodiment of the text fit system includes an interactive computer program used to edit the program listings data before it is transmitted to the user and stored in memory. The interactive system operates as follows: unedited (or partially edited) program listings information is loaded into data a processor. The data includes program titles, program schedule times, duration, category, as well as additional descriptive information dependent on the type of program. For example, for movies the data includes the MPAA rating, year of the movie, whether it is in black and white, and a list of starring actors and actresses.
The data processor extracts only the program title data which includes television program titles as well as movie titles, sporting events and titles for other special events. Based on the duration of the program, the data processor first analyzes the listings data to determine what grid size listings are needed for each title. Thus, a two hour movie could require four different edited titles to fit into each of the four different size grid cells (30, 60, 90, 120 minutes). The data processor then determines how much space is required to display the title based on its character length. If the title is to be displayed in the program schedule grid using a proportional font and character to character kerning, the data processor may also account for these factors in determining the space required to display a title. The determination would than be based on the number of pixels required for the particular combination of characters in the title. The amount of space available for display of a title depends on the size of the grid cell and the space required for display of icons, when activated.
If the data processor determines that a full title requires too much space to fit into one or more grid cells, the title is then presented to the editor using a suitable display device connected to the data processor, such as a CRT. The editor is then queried to alter the title so that it will fit in the allotted space. If the title must be edited for more than one cell size, the editor is queried to edit each of these separately. In the preferred embodiment of the interactive program, the editor is shown in real time whether the edited title will fit in the designated grid cell.
In the preferred embodiment, two lines of text are displayed in each grid cell of the program listings. The title, as edited, appears on the first line, and if necessary, continues onto the second line. The decision to wrap-around to the second line is based on whether natural breaks exist in the title such as spaces between words, commas, periods, hyphens, etc. These are standard techniques used in word processing software routines. The editor may also be queried to edit a title in the situation where the full title will fit on the allotted two lines, but a hyphen is required because there are no natural breaks in the title.
Prior to querying the editor to shorten a title, the data processor compares the title with a stored library of shortened titles to determine if the title had previously been shortened while editing another listings database. Each time changes are made by the editor to a title, the shortened title is added to the library. It is apparent that this process of building a library of shortened titles greatly reduces the manual input required.
A flow chart illustrating the process by which the text fit system operates is shown in
Text editing may be necessary in other situations besides that where multiple size grid cells are used for display of the same title. For example, the disclosed program guide may run on several different platforms, with each one having different constraints and grid cell space availability. Some may not display the text in proportional fonts and some may have other limitations reducing the available space. Thus, in the preferred embodiment the interactive program would request edits for all platforms for which they required at the same time. In addition, editing of text may be required for display modes other than a grid of program listings. For example, in the “Listings by Channel” display of
It will be apparent to those of skill in the art that the disclosed text fit system has applications beyond that of title editing alone. The system may be easily modified to provide editing of messages, “i” screen storylines, pay-per-view promotional copy, and similar text messages so that they will fit into the designated space available for display of the text. In fact, the system may be used to edit any text for display in the disclosed program schedule system.
The computer program for the microcontroller 16 may also include a schedule for the display of varying background views upon which the program schedule information is overlaid either partially or in a full screen display. The background views may be stored as bit maps in memory or in another storage medium, such as an optical storage device. For example, the microcontroller 16 may be programmed to issue a command to the VDG every morning at 6:00 AM to display a sunrise in the background. The background may then be changed accordingly throughout the day to, for example, a blue sky or a nighttime view as shown in
Additionally, the electronic program guide could be configured to store a unique digital identifier for each program along with its schedule information and later use the identifier—e.g., by transmitting it—to indicate to a recording or storage device, such as a video recorder, that the user wishes to record the program. The program guide could also use the identifier to automatically control operation of the video recorder. The electronic program guide could also be configured to use other stored schedule information for this purpose.
The form and content of a particular computer program to implement the invention disclosed herein will be readily apparent to those skilled in the art of video system programming and graphic display. A flow chart showing the operation logic of the system is shown in
65. A method for providing help information to a user of an electronic television program guide, the method comprising:
- determining a current operating mode of the electronic television program guide, wherein the electronic television program guide has a plurality of operating modes; and
- providing help information that explains to the user how the electronic television program guide operates in response to receiving a user input, wherein the help information provided is based on the current operating mode.
International Classification: H04N 7/16 (20060101);