# Patent

## Title
User interface for television schedule system

## Abstract

Screen (10) for a user interface of a television schedule system and process consists of an array (24) of irregular cells (26), which vary in length, corresponding to different television program lengths of one half hour to one-and-one half hours or more. The array is arranged as three columns (28) of one-half hour in duration, and twelve rows (30) of program listings. Some of the program listings overlap two or more of the columns (28) because of their length. Because of the widely varying length of the cells (26), if a conventional cursor used to select a cell location were to simply step from one cell to another, the result would be abrupt changes in the screen (10) as the cursor moved from a cell (26) of several hours length to an adjacent cell in the same row. An effective way of taming the motion is to assume that behind every array (24) is an underlying array of regular cells. By restricting cursor movements to the regular cells, abrupt screen changes will be avoided. With the cursor (32), the entire cell (26) is 3-D highlighted, using a conventional offset shadow (34). The offset shadow (34) is a black bar that underlines the entire cell and wraps around the right edge of the cell. To tag the underlying position—which defines where the cursor (32) is and thus, where it will move next—portions (36) of the black bar outside the current underlying position are segmented, while the current position is painted solid.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 10/081,141 filed Feb. 22, 2002, now abandoned, which is a continuation of application Ser. No. 09/277,703, filed Mar. 26, 1999, now U.S. Pat. No. 6,498,895, which is a continuation of application Ser. No. 08/480,205, filed Jun. 7, 1995, now U.S. Pat. No. 5,949,954, which is a divisional of application Ser. No. 08/198,538, filed Feb. 18, 1994, now U.S. Pat. No. 5,479,268, which is a continuation of application Ser. No. 07/579,555, filed Sep. 10, 1990, now abandoned, each of which is incorporated by reference as if set forth in full herein.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a system and process that allows a television viewer to access on screen television program listings and use the program listings in an easy and convenient way to control operation of a video cassette recorder (VCR) or other recording device. In addition, it relates to such a system and process that creates a directory of recorded programs by title for easy retrieval and program playback. More particularly, it relates to such a system and process in which the VCR or other recording device is controlled by a simple selection of program title and a record command, even for recording at a future date and time. Most especially, it relates to such a system and process incorporating an intuitive user interface.
2. Description of the Prior Art
The difficulty of setting a VCR for automatic recording at a future date is notorious. Even users who are technically sophisticated will often make mistakes in the VCR programming procedure that cause them to record the wrong program or not to record anything at all. This difficulty has even resulted in a substantial body of humor dedicated to the subject of programming VCRs.
The difficulty of VCR programming has been alleviated somewhat by the development of VCRs that use a television set as a display for user prompts and feedback to the user during the programming process. U.S. Pat. No. 4,908,713, issued Mar. 13, 1990 to Michael R. Levine, discloses such a VCR using the television set as a display for VCR programming with an interactive user interface for directing the user on a step-by-step basis. Such a user interface removes a great deal of the mystery from VCR programming, but users still have difficulty with such a command-based interface and encounter problems carrying out the programming without making mistakes that cause them to miss recording programs they would like to watch at a different time than when they are broadcast.
Commonly assigned U.S. Pat. No. 4,706,121, issued Nov. 10, 1987 to Patrick Young, discloses a system and process in which user selections from television schedule information are used for automatic control of a VCR. That patent also contains a description of a proposed user interface for such a system and process. However, the provision of a highly intuitive user interface that makes such a system and process easy and convenient to operate is a difficult task. Further development of this system and process has produced considerable change in the user interface as originally proposed.
In addition to simplifying VCR programming, users who do a substantial amount of program taping also need an improved system and process for keeping track of their recorded programs. Commonly assigned application Ser. No. 07/219,971, filed Jul. 15, 1988, in the name of Patrick Young, discloses a system and process that provides indexing capability for taped material. A user interface for a television schedule system and process should also handle this capability on an intuitive basis.
Thus, while the art pertaining to the control of VCRs and to television schedule systems is a well-developed one, a need still remains for a television schedule system and process incorporating an improved user interface. In particular, unlike most computer menus, a grid TV guide is an array of irregular cells, where the cell size can vary from a fraction of an hour to many hours—extending well beyond the current screen. If this array is navigated by a cursor that goes from cell to cell, a single cursor command can produce violent screen changes. For example, a cursor right command may cause an abrupt jump to a cell situated several hours from the current page. Not only is this unsettling, but may take considerable effort to recover. Clearly, a gentler cursor motion is needed for the irregular cells found in a grid TV guide.
Printed grid television schedule guides often include additional information besides the program title and broadcast names. Such grids are also typically provided in combination with a more detailed printed schedule that contains a synopsis of each program, whether the program is a repeat, ratings for movies, and other information. When using a television set as a display for a schedule system, the size and resolution of the television display limit the amount of text that can be displayed with the grid. Improved techniques are required for conveying the most amount of information to the user in an easily understood manner within the limitations of the television display. When a large number of channels are available for viewing, there is also a need to order the display of information most conveniently for the user.
SUMMARY OF THE INVENTION
Accordingly, it is an object of this invention to provide a television schedule system and process with a user interface that is configured to compensate for the particular nature of the television schedule information.
It is a further object of the invention to provide such a user interface having a cursor operation that compensates for an irregular grid format of the television schedule information.
It is another object of the invention to provide such a user interface in which the schedule information is presented in a format that compensates for limited resolution of the television display.
It is still another object of the invention to provide such a user interface in which supplemental schedule information is presented in overlays that obscure a minimum amount of useful other information.
It is a still further object of the invention to provide such a user interface in which order of presentation of the schedule information is customizable by user preference.
The attainment of these and related objects may be achieved through use of the novel television schedule system and process user interface herein disclosed. A television schedule system including a user interface in accordance with this invention has a display, A means is connected to the display for displaying the television schedule on the display as an array of irregular cells which vary dimensionally in length, corresponding to different television program time lengths. A means is connected to the display for providing a cursor with the television schedule on the display. The cursor has a variable length corresponding to the length of a selected one of the irregular cells in which the cursor is located. A means is connected to the means for providing the cursor for moving the cursor in the array in a series of equal length steps. At least some of the irregular cells have a length which is greater than the length of the steps.
In the process of operating a television schedule system with the user interface of this invention, the television schedule is displayed as an array of irregular cells which vary dimensionally in length, corresponding to different television program time lengths. A cursor is provided with the television schedule on the display, the cursor has a variable length corresponding to the length of a selected one of the irregular cells in which the cursor is located. The cursor is moved in the array in a series of equal length steps, with at least some of the irregular cells having a length which is greater than the length of the steps.
In another aspect of the invention, a control system for a video recording machine has a controller for starting and stopping the video recording machine, for recording video information on recording media, and for playing recorded video information on recording media. A display generator provides display image generation signals. A means supplies information to the display generator for generation of display images relating to operation of the video recording machine. The means for supplying information includes means for generating a recording media position indicator graduated as segments corresponding to programs recorded on the recording media.
In a process for controlling a video recording machine, a recording media position indicator is graduated as segments corresponding to programs recorded on the recording media. The recording media position indicator is displayed as position of a selected one of the recording media in the video recording machine is changed.
In a further aspect of the invention, a television schedule system a display and means connected to the display for displaying the television schedule on the display. The means for displaying a schedule is configured to allow selection by a user of a first number of desired channels for display of schedule information which is less than a second number of available channels. A programmable tuner is connected to the means for displaying a schedule. The programmable tuner is configured to follow the first number of desired channels when the television schedule is shown on the display in response to a channel up or channel down command. The programmable tuner is configured to follow the second number of available channels in the absence of the television schedule on the display in response to a channel up or channel down command.
In a process for operating a television schedule system, a first number of desired channels is selected for display of schedule information, which is less than a second number of available channels. The schedule information is displayed on a display. The first number of desired channels is followed when the schedule information is shown on the display in response to a channel up or channel down command. The second number of available channels is followed in the absence of the television schedule on the display in response to a channel up or channel down command.
The attainment of the foregoing and related objects, advantages and features of the invention should be more readily apparent to those skilled in the art, after review of the following more detailed description of the invention, taken together with the drawings, in which:



BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1-3 are diagrammatic representations of a television schedule grid incorporating the user interface for the system and process of this invention.
FIG. 4 is a diagrammatic representation of a screen display used in the system and process of the invention.
FIGS. 5-7 are additional diagrammatic representations of the television schedule grid incorporating the user interface for the system and process of the invention.
FIG. 8 is a flow chart for understanding the operation of the FIG. 7 diagram.
FIGS. 9-10 are additional diagrammatic representations of screen displays of the user interface for the system and process of the invention.
FIG. 11 is a flow chart for understanding the operation of the FIGS. 9-10 diagrams.
FIGS. 12-13 are diagrammatic representations of taping and tape index screen displays of the user interface for the system and, process of the invention.
FIGS. 14-17 are diagrammatic representations of program selection by category screen displays of the user interface for the system and process of the invention.
FIG. 18 is a flow chart for understanding operation of the FIGS. 14-18 diagrams.
FIG. 19 is a flow chart for understanding operation of the FIG. 20 diagram.
FIG. 20 is a diagrammatic representation of a channel customization screen display of the user interface for the system and process of the invention.
FIG. 21 is a diagrammatic plan view of a control panel for the system of the invention.
FIG. 22 is a block diagram of a television schedule system in accordance with the invention.
FIG. 23 is a diagrammatic representation of a screen display used in the system and process of the invention.



DETAILED DESCRIPTION OF THE INVENTION
Turning now to the drawings, more particularly to FIGS. 1-7, there are shown a series of menu screens 10, 12, 14, 16, 18, 20 and 22 used in operation of the system and carrying out the process of the invention. Screens 10, 12, 14, 18 and 20 each consists of an array 24 of irregular cells 26, which vary in length, corresponding to different television program lengths of one half hour to one-and-one half hours or more. The array is arranged as three columns 28 of one-half hour in duration, and twelve rows 30 of program listings. Some of the program listings overlap two or more of the columns 28 because of their length. Because of the widely varying length of the cells 26, if a conventional cursor used to select a cell location were to simply step from one cell to another, the result would be abrupt changes in the screens 10, 12, 14, 18 and 20 as the cursor moved from a cell 26 of several hours length to an adjacent cell in the same row. Such abrupt changes disorient a user of the system.
An effective way of taming the motion is to assume that behind every array 24 is an underlying array of regular cells. By restricting cursor movements to the regular cells, abrupt screen changes will be avoided. However, there is now a potential ambiguity between the underlying cell which governs cursor movement and a visible cell 26 which holds the program title.
Viz.: if the cursor moves in half hour steps, and the cell length is, say four hours, should the cursor be 1⁄2 hour long or four hours long? If the cursor only spans the interval of the underlying cell (1⁄2 hour), the cursor appears to be highlighting a segment of the cell, which is misleading. On the other hand, if the cursor spans the entire four hours of the TV listing, the cursor underlying position will be obscure. In this case, cursor right/left commands will appear inoperative while traversing a long cell. The absence of feedback following a cursor command is befuddling to users. Therefore, an innovative cursor 32 (FIG. 1) for the irregular array 24 is required which satisfies several conflicting requirements.
With the cursor 32, the entire cell 26 is 3-D highlighted, using a conventional offset shadow 34. The offset shadow 34 is a black bar that underlines the entire cell and wraps around the right edge of the cell. To tag the underlying position—which defines where the cursor 32 is and thus, where it will move next—portions 36 of the black bar outside the current underlying position are segmented, while the current position is painted solid.
For an half hour cell 26, the offset shadow's underline bar will always be solid black. FIGS. 2 and 3 show the cursor 32 as it appears for a half-hour program. For programs that go beyond 1⁄2 hour, only the current 1⁄2 hour position will be solid black. All remaining positions will be stripped. If the cursor is moved left or right, the solid section will move accordingly, providing complete visual feedback. Thus, this modified 3D offset shadow cursor 32 satisfies the demands stated above: it spans the entire cell, yet clearly highlights the current underlying position. Movement of the cursor 32 will always be visible even for cells 26 that are much longer than the underlying cell.
A grid continuity icon 38 is shown in FIG. 1. Printed grid television schedule guides often include parenthetical comments, (such as “cont'd”) to indicate program continuity. In an electronic guide displayed on a TV screen, limited text space precludes parenthetical comments. To conserve space, an icon 38 will be used to indicate cell 26 continuity. At the border of a cell 26 that is continued to the next screen, an arrow icon 38 pointing to the right will be overlaid. The arrow direction always points to right, which is the direction of program elapse.
FIGS. 2 and 3 show recording status representations. When a program has been selected for recording, its listing cell 26 will be outlined or highlighted in red, as indicated at 40. If guard time has been added or deleted, the cell will be stretched or shrunk to reflect the change. Cell 26 continuity will be treated the same as above. There are four other record status representations:

    
    
        If the cell is actively being recorded, the outline 40 will blink off and on.
        A recorded cell will be displayed with a solid red background 42 (Note: Not shown in drawing).
        A mis-recorded cell will be indicated by red hash-marks 44 over the title. A mis-recording can be the result of insufficient tape, VCR loss of power, stopped before completion, etc.
    
    


A program linking icon 46 is shown in FIG. 5. After each schedule update, the schedule system examines the new listings for the occurrence of any titles that match a title in Linked Titles (FIG. 23). If a title matches, it will automatically be tagged for recording. When a linked program is displayed in the guide, it will have two identifiers: a red outline 40 indicating that the title has been selected for recording, and a link icon 46 appended to the title to indicate that this title was link-selected. After a linked program has been recorded, it will be treated like any recorded program with the title shaded in red. To differentiate this recording from others, the link icon will remain appended to the title.
Further details on the linking feature are given in screen 19 of FIG. 23. 1) A linked program 47 may be suspended by the user (perhaps to avoid conflict with a pending recording), by de-selecting the link title in the Link List screen, under the Record Memo command. A suspended link program will still be identified by a link icon, but the red-outline will be suppressed since the program will not be recorded. 2) A smart link process is used to tame the matching of titles when there is a likelihood of excessive candidates for recording. The Lucy show, for example, is often syndicated on several channels. Untamed linking of Lucy may result in a plethora of recordings. For such series, the link list will include the channel and time as well as the link title. For the avid Lucy-phile, the user can locate each series individually for linking. If there is more than one link title of the same name, the series will be numbered, in the order of acquisition. Thus, the second Lucy will be identified as Lucy (Two), at 47.
FIGS. 1-3 show the columns 28 headed by half-hour header status indicators. The 1⁄2 hour header strip across the top of the grid TV guide has two auxiliary functions: 1) as an indicator 48 of pending or in-progress recording scheduled at that time, and 2) as a time-bar 50 to delineate the past-from the future. The past is darkened, while the future is lightly shaded. If there is an in-progress recording, the 1⁄2 hour header will be red-outlined at 48 in the same manner as a pending recording title cell 26.
FIG. 6 shows a television schedule grid screen 20 with a program note overlay 52. With limited text capacity on TV displays, it is preferable to display as many lines of TV listings as feasible. To handle program notes, which are text intensive, on-demand overlays 52 are used. Program note overlays 52 may include any or all of the following information:

    
    
        A program genre
        Program description
        Stars and personalities
        Year of release
        Episodic subtitles
        Run-time of program
        Elapse time of the program
        Critique (Star Ratings)
        Rating (PG, G, etc.)
        Call letter, channel markers
        Closed caption, stereo.
    
    


Program notes for a selected program are overlaid over the grid guide upon request. The program note can be toggled off/on using a SELECT command. The program note 52 overlays and hides 3 or 4 listings of a guide. To minimize concealment of the guide, an auto-roving note is used. The program note will overlay either the top half or bottom half of the screen, as necessary to avoid masking the title of the selected listing. If the cursor 32 is in the upper half of the screen, the note will appear in the bottom half, and vice versa. If the cursor 32 is moved to the lower half of the screen, the note will automatically position itself in the upper half of the screen.
FIGS. 1-3 and 5-6 show a channel column 54 in the television schedule grid 24. Favorite stations and cable channels may be listed together to create a personalized grid guide. The channel column 54, unlike most printed TV guides, has a mix of over-the-air station names and cable services names.
The grid 24 guide lists channels by favorite combinations of station number and cable names, and not in the usual numerical order. When viewing the grid 24 guide, a Tuner Up/Down channel command will be mapped according to the channels and order listed on the screen. When not viewing the guide, the tuner sequence will revert back to the usual numerical order. When the last channel on a page is reached, the next Tuner command will change the channel to the channel listed at the beginning of the following page.
When a channel to which the tuner is tuned is displayed on the grid 24, it is highlighted, as shown at 56. A grid 24 page may be changed by either a page command or by entering a channel Up/Dn command as described above. If a page is turned using the page command, the current channel is now located in the previous page, and will not be seen in the new page. Therefore, the new page must suppress the highlighting of a channel, since that indicates the current channel. Note that information about the current channel will still be presented in the channel information boxes 58 at the bottom of the screen.
When is the highlighting re-enabled? Once into the new page, the first channel up/down command will cause the tuner to automatically change to the channel listed in the last or first row 30 respectively of the new page. Since the tuner channel is now located on the new page, the current channel will be highlighted again.
If the channel highlighting is not suppressed after a page is selected, by definition, the tuner must be changed to track the highlighted channel. This is undesirable since casual paging should not cause the channel to change.
When a guide is first opened, as shown in FIG. 2, both the cursor 32 and the current channel 56 are situated on the same row 30 of the grid 24. When the channel 56 is changed, it is desirable to drag the cursor 32 along with the channel in unison. In doing so, the cursor 32 will be ready for a Select command (to retrieve the program note) or for a Record It command. Cursor dragging by the channel command takes place whenever the channel 56 and cursor 32 are united on the same row. If they are not united, the cursor 32 is disengaged from the channel command. Note that dragging is not reciprocal; moving the cursor 32 does not affect channel selection.
FIG. 7 shows a screen 22, showing a program list 58 for a single channel, generated by toggling a user What's On TV command, which switches between the grid 24 and the list 58. The list 58 consists of rows 60 of sequential program listings on the channel and a channel information field 62. Program notes are overlaid on the list 58 in the same manner as shown in FIG. 6 for the grid 24.
Each What's On TV command alternates between the grid guide 24 and the What's Next on Channel row guide 58. While viewing the grid guide 24, the next What's On TV command will replace the grid guide 24 with a single-channel row guide 58. FIG. 8 is the flow diagram for the What's On TV command.
The page relationship between the two guides 24 and 58 are tightly coupled. The single channel guide will open to the channel and schedule time that was selected by the cursor 32 on the grid 24. While viewing the single channel guide 58, the Up/Down channel command may be used to change the channel to be listed. When exiting the single channel guide 58 and returning to the grid guide 24, the grid cursor 32 will be pointed to the channel and schedule time last selected on the single channel guide 58.
FIGS. 9 and 10 show channel grazing overlays 64 and 66 that provide information on current programs when switching channels while watching television. In the overlay 64, when scanning channels, the title of each program is overlaid at 68, along with the name of the TV service (HBO, ABC etc.), the cable channel number, and the current date, day of week, and time in the channel information field 62. The overlay 66 is the same as the overlay 64 except that this overlay includes a program note 70, which is similar to the program note 52 in FIG. 6, but contains information pertinent to a program currently being broadcast on the selected channel. To access program notes, press the Select key. In addition to the program note 70, elapsed time is indicated by a percentage calibrated time bar 72. The bar is bracketed by S for start, and F for finish. By default, titles will appear automatically when channels are scanned. Grazing Titles may be de-activated using the CANCEL key. To restore auto-titles, press Select while viewing TV. The flow diagram governing titles/program notes, while viewing TV, is shown in FIG. 11.
An express recording screen 74 is shown in FIG. 12. The express recording screen includes the following information:

    
    
        Title of Program
        Length of Program
        Tape Time Remaining
        Recording Speed.
    
    


FIG. 13 shows a tape index screen 76. Locating a recorded segment is often an arduous task when several programs have been recorded on the tape. Without a table of contents, the VCR users muddle through stretches of recording trying to find what's recorded on the tape, where the beginning of the desired program is, and where the tape is now. Some premium VCRs provide tape indexing that automatically finds the start of each recording. However, while the viewer can find the start of a recording, the indexing VCRs do not record titles. The net result is about as useful as a having a table of contents without chapter titles. Considerable searching is still required to find what is recorded at each index.
The tape index screen 76 provides a virtual tape directory, giving the equivalent function of a table of contents for a tape recording. There is a list 78 of titles of recorded programs, a pointer 80 to the start of the program, and a current position indicator cursor 82 showing the “chapter” location on the tape. The virtual directory is automatically compiled, revised and stored in off-tape memory as the user records over the tape.
The What's on Tape command will display a list of titles of programs recorded on the tape. The title of the selected program (the segment of tape that is positioned over tape head) is highlighted by the cursor 82. The tape position pointer 80 dynamically tracks the current tape position. All searching is done simply by title, bypassing the need for index numbers. The tape directory is equivalent to a table of contents showing titles, but not page number. It automatically opens to the starting page by simply pointing to the title of the program. In addition to the tape directory 78 of recorded programs, the screen 76 includes a program duration field 84, a recorded speed of each title field 86, a remaining time left on tape field 88, a remaining time left on program field 90 and a next scheduled recording time field 92.
The virtual tape directory is generated as follows. It is difficult to implement a competent self-contained tape directory for a non-random access storage such as a video tape. No matter where the directory is stored on the tape, the latent access time to locate the directory and return to current position (for a standard six hour tape) is excruciating slow, in the order of 6 to 10 minutes.
If redundant directories are recorded uniformly across the tape to minimize latency time, the problem of sluggishness is merely shifted from playback to updating the multiple directories. After each video program is recorded, the entire tape must be scanned to update each directory. Even if this update process is automated, there is a question of excessive wear on tapes and the VCR itself. Viz: each recording, no matter how short, results in high-speed scanning of the entire tape in order to revise all directories.
Even more troubling is the question of when to perform the update, since there is no “safe” period for the VCR to take control. For example, the user may have stopped the tape momentarily, perhaps to skip commercials, only to find that the VCR has commandeered control and place the tape in a high speed update mode. The safest update is one that is user-initiated. Unfortunately, few VCR users will follow a regimented procedure of updating after each recording session. Clearly, an on-tape directory based on existing technology is not satisfactory.
The following innovative solution, the “virtual tape directory”, stores directory information in off-tape memory and does not require an on-tape directory or any augmentation of the video cassette. Since the directory is held in external memory instead of the tape, it is best suited for tapes that have recently been played and recorded, the “working tapes”.
When a program is recorded, the title of the program is written to the data (control track) channel of the tape and, at the same time stored in a non-volatile (NV) memory. Other information about the recorded program, such as length of program, theme category, date recorded, and tape identifier code may be written to the data channel, as well as stored in the NV memory. The NV memory is adequate to support a number of working tapes.
When a tape is first loaded, the tape data channel will be scanned for a few seconds to identify the recorded program under the tape head. This data will be matched against the directories stored in NV memory. If there is a match, the directory of the working tape will be displayed immediately when the What's On Tape key is pressed. The “virtual” tape directory appears to have been read from the tape, but is actually obtained from NV memory.
If there is no match, a new directory for the tape will be created. During playback and recording of this tape, a virtual directory will be generated for that tape. Directories of inactive tapes will be automatically purged from memory as new working tapes are introduced.
It is relatively easy to estimate remaining time of a scheduled televised program with the assist of a clock and a TV schedule. In contrast, there are few clues as to current location during playback of a recorded program, particularly when there are several recorded segments on a tape. Tape index counters or running-time clocks require diligent bookkeeping before the start of a recorded segment. Few consumers will tinker with 5 or 6 digit numbers when a “ballpark” indicator is adequate, such as, “is the program about over?”, or “about when does the next segment starts?”. Clearly, there is need to provide a location indicator without the burden of bookkeeping.
To provide an at-a-glance indicator of relative tape location, an on-screen tape position gauge 94 has been devised. The tape position gauge 94 consists of a vertical bar 96 with the arrow pointer 80 located on the left edge of the screen 76. The arrow 80 dynamically tracks the current tape position as the tape is advanced or rewound.
The gauge 94 is graduated, not in linear units, but in units of recorded segments 98 with each segment labelled with its program title. Thus, a 10 minute program or a 6 hour program is represented as one vertical unit corresponding to the width of a segment 98. However, the gauge 94 is linear within each segment 98. If the arrow is pointing-at the upper 25% of the program segment 98, it indicates that the tape head is positioned over the first 25% of the program. If a conventional linear gauge were displayed, a far more complicated gauge would be required, that would likely confuse rather than clarify.
Thus, this tape gauge 94 provides a quick capsule indication of the where the tape head is currently positioned, relative to the current program, and relative to other programs or the tape, and the title of other programs.
The tape index screen 76 includes a tape motion indicator field 100. When the tape is undergoing high speed repositioning, the What's On This Tape (WOT) screen 76 will be displayed. During high speed search of a long program, the tape gauge 94 will appear to be dormant, since the gauge is relatively coarse for programs of long duration. To supplement the tape gauge 94, the tape indicator 100 is included. During high speed positioning, one of these messages will be displayed in the space above twin-hub tape icon 102: GO PLAY, GO RECORD, FORWARDING, REVERSING, PAUSE, and STOP.
GO PLAY is displayed while the tape is repositioning to the selected title. When the title is reached, the WOT screen 76 will be displaced by the playback video. GO RECORD is displayed while the tape is positioning to the selected program segment 98, where the new recording will be written.
FIGS. 14-17 show Theme function screens 104. The Theme function allows the viewer to quickly sort the downloaded schedule and display a subset schedule based on a subject of interest. The user has the freedom to select listings sorted first by major themes, second by topic(s) within a theme, and/or by topic qualifiers. All guides sorted by theme, topic and qualifier will be displayed in a row-tabulated format and begins by listing programs nearest to the current half-hour. The theme function screens 104 have the following attributes: Rotating Themes. There are four theme categories, with each theme title enclosed in horizontally-arranged selection boxes 106. From left to right, the themes are:

    
    
        [Movies] [Sports] [Specials] [TV Fare]

FIG. 18 is a flow diagram defining the Theme command. Topic Selection. There are up to 16 topics 108 for each theme arranged in an 8 row by two column field 110. Any number of topics may be selected under a selected theme. Topics is a logical OR function, meaning that each listing that meets the definition of the topic will be displayed. For example under the theme of Movies, if the topic titles Comedy and Satire are selected, a subset schedule of both comedy movies and satire movies will be displayed.

Default All Selection. When the Theme screen 104 is first opened, the first slot (upper left most topic 108) will be highlighted. This is the ALL function, which is the sum of all topics 108 for the selected theme. The ALL function was created to minimize key stroking. Without an all topic category, the user must enable all 16 topics 108 individually. Conversely, if the user wishes to go from an all topics to an individual topic, the user must cursor to and deselect each of the other 15 topics.

Qualifiers. Each theme includes a group of search attributes or qualifiers 112. The qualifiers for each theme 106 are shown in the respective one of FIGS. 14-17 for each theme 106. Any number of qualifiers can be enabled at one time. These qualifiers perform a logical OR functions; they will select for display all listings (sorted first by theme and topic) that satisfy the qualifiers.

The qualifiers 112 are positioned for easy selection. The selection of qualifiers is made using the usual cursor commands. When a theme 106 is initially opened, by default, the cursor is located near the top of the screen. To minimize cursor commands, the qualifiers are also located near the top of the screen. In contrast,. placing the qualifiers at the bottom of the screen would require a round trip of up to 16 key strokes.

    
    


The complete theme sorting strategy is defined as follows:

Listings=(Topic A+Topic B+etc.)*(Qualifier A+Qualifier b+etc.)

This may be read as listing all Topic A that also meets Qualifier A or Qualifier B, plus all Topic B that also meets Qualifier A or Qualifier B, etc.
Qualifiers, topics and themes are rooted in relational database operations and allow logical sorting of the schedule. To support these higher order of sorting, auxiliary data must be delivered to the VCR. In contrast, simple sorting operations, such as sorting by time and by channel are inherent in the fundamental information of a TV guide, and do not require auxiliary search data.
The keystroke sequence for using the themes screens 104 are as follows. While watching TV, the first Theme key command will summon the opening theme screen with the left most theme, Movies, highlighted. Further theme commands will rotate the theme selection from left to right. Each theme screen will be initialized to the ALL (topics) selection. If no topic selection is made, an all topics guide for the selected theme will be displayed upon depressing the Select/Goto command.
To additionally sort the theme by a single topic, position the cursor key to the desired topic and depress the Select/Goto key. Use the cursor to return to a topic.
To sort by more than one topic, position the cursor over each desired topic and depress the Select key. When finished, press Select/Goto to display a multiple-topic guide.
To sort by one or more attributes, position the cursor over each desired attribute and press the Select key. When finished, move the cursor to a topic and press Select/Goto to retrieve the theme/attribute-sorted TV guide.
Other than express recording, all recording activities are controlled with the Record Memo screen 16 of FIG. 4. The Record Memo screen 16 is accessed with a Record Memo key. When the Record Menu key is depressed, the following titles enclosed in horizontally-arranged selection boxes 114 will appear at the top of the opening screen. From left to right:

    
    
        [Pending [Recorded [Linked [On-Grid Recordings] Programs] Titles] Prog.]

Each Record Memo key command will highlight a new selection, rotating from left to right, and wrapping around to Pending Recordings after the right most position. FIG. 19 is a flow diagram defining the Record Memo command.

    
    


FIG. 20 shows a Channel Customization screen 116. The screen 116 allows the user to customize channels to match viewing interest, providing a compact listing as well as eliminating undesired channels during up down scanning. During schedule update, a list of all cable channels available at the subscriber's cable system (or broadcast stations for over-the-air subscribers) is also delivered to the VCR. This unabridged set of channels may be customized using screen 116.
The channel customization screen 116 has two fields, a 3 column field 118 listing up to 36 unabridged channels and a single column field 120 listing 12 favorite MY channels. The latter is a replica of the channel descriptor column 122 (FIG. 1) of the opening grid guide. Additional pages are available (using the page key to swap between the pages) to accommodate systems with more than 36 channels. Each cell 124 in the 3 column field 118 contains the following information: Channel number and program service name (such as HBO or station KTVU, 2). The cell 124 is color-coded to indicate the following states:

    
    
        ON, default state before any customization, with the cell 124 in light green background.
        MY, favorite channels listed in the single column field 120, also shown in the three column field 118 with a blue background.
        OFF, a channel deleted from all guides, as well as during Channel Up/Dn scanning (still accessible using the ten key channel keypad). OFF cells have a gray background.
    
    


When first installed, the system assigns the first 12 (listed in numerical order) channels as MY favorites. The channel status may be changed by selecting a channel and picking a state, MY, ON, or OFF using the SELECT key.
Since only 12 favorites are allowed, the user must first remove a favorite channel by changing the status of an existing favorite channel to OFF or ON. When that is done, the first column will automatically open up a space for the next MY selection. When a new MY is selected, the MY column 120 will automatically insert the new selection in the prescribed order. The order of listing in the MY favorite channel column 120 is as follows:

    
    
        All favorite broadcast stations will be listed first in numerical order. Next, all cable services will be listed in alphabetical order.
        A new cable service, which displaces a previous service, will be inserted under the previous status. Example: If the channel was MY, the new service will be MY. However, a new cable service that appears on a new channel will be initialized ON.
    
    


FIG. 21 shows a front panel 130 for a remote controller of the schedule system. The top half of the front panel 130 corresponds to a conventional remote controller for a television set and a VCR. Included are a dual function ten key keypad 132, with the alternate functions of each key and its digit shown, a TV/VCR toggle key 134, volume and channel up/down keys 136, and VCR control keys 138. The lower half of the front panel 130 contains control keys that are specific to the schedule system. Included are a What's On Tape key 140, a What's On TV key 142, a Theme key 144, a Record Memo key 146, a Record It key 148, a Link It key 150, a Help/Menu key 152, a Select/Goto key 154, Left, Right, Up, Down and Page Cursor keys 156, a Return TV/VCR key 158 and a Cancel/Undo key 160. The use of these keys has either been explained above or is apparent from their labels.
FIGS. 22A and 22B are block diagrams of television schedule systems/tape controllers 180 and 182 in which the user interface is used. The schedule system/controller 180 is applicable to existing television equipment, where the schedule system is separate from the basic television equipment. Programmable tuner 202 is shown as part of a cable decoder. The schedule system/controller 182 is shown as integrated into a VCR 211. In this version, a cable decoder is not required, and tuner 207 is part of the VCR 211. It should be clear from these two systems 180 and 182 that the schedule/tape controller may be integrated into other television equipment, such as a cable decoder or a TV/Monitor receiver. It is also practical to implement the entire schedule/tape controller in a remote controller by adding a text display, such as an LCD screen, on remote controller 212.
In the system 180, programmable tuner 202, which may be part of a cable decoder unit, receives a TV signal from antenna 200 and/or from cable input 205. Tuner output 216 goes to a vertical blanking interval (VBI) decoder 222, which may be a closed caption decoder or a high speed teletext decoder. Listing information and other support information, such as cable channel assignment data, will be transmitted over the VBI by one or more local stations or cable channels several times a day or continuously.
When update is required, programmable tuner 202 will be tuned automatically to the station or cable channel carrying the data. After the VBI signal is processed by CPU 228, the listing data is stored in schedule memory 232, while the cable channel assignment data is stored in cable-specific RAM memory 238. This data is used to convert generic TV source names, such as HBO, to channel assignments for the specific cable system.
Other information transmitted to the schedule/tape controller 180 and stored in the system RAM memory 240 includes clock update data to set system clock 230 automatically, schedule update time, which may vary from once a day to a continuously transmitted format, new theme categories, and last minute schedule change data.
For a What's on TV request, the listing stored in schedule memory 232 is retrieved, processed by CPU 228, and outputted to video display generator 224. Video switcher 226 is enabled by CPU output 246 to select the video display generator 224 output whenever schedule data is to be presented to the TV/monitor 210.
When a request to time-shift record a program is made, the title of the program and its record parameters (channel, start time and length) is copied from the schedule memory 232 to the Record Memo RAM memory 236. When the system clock 230 matches the schedule time, the CPU 228 will issue a channel command to the programmable tuner of the cable decoder 202, and a power on and record command to VCR 206 by means of an infrared remote driver 214 directed at infrared input ports of these two devices. In the VCR integrated version 182, the command to the tuner 207 is made on a wired bus 264.
In addition to programming by selecting a title from the on-screen schedule, it is also possible to program the VCR 206 or 211 and the cable decoder 202 or 207 with remote controller 212. In this mode, programming information is entered into the remote controller 212, and at the required time, the remote controller 212 will issue programming commands to the proper TV device. While there are many universal remote controllers that offer programming capability, none allow the user to enter generic names, such as station and cable channel names, and have the CPU convert the names to specific channels for tuning the VCR or the cable decoder. This is implemented by incorporating CPU 228 and the cable-specific RAM 238 in the remote controller 212.
Remote controller 212 and infrared remote driver 214 are capable of emulating the infrared command instructions required by the cable decoder 202 and VCR 206. The command emulation codes for the remote driver 214 are stored in cable decoder IFR code RAM/ROM memory 239. Commands for popular cable decoders and VCRs are pre-programmed in ROM. Alternatively, the infrared commands of the original remote controller may be learned by aiming the controllers at the IFR input receiver 264 and storing the command codes in RAM memory 239 after processing by CPU 228. This process is well known in the art of universal remote controllers and need not be detailed here.
As shown in FIG. 22A, the VCR 206 and cable decoder 202 may be manually controlled by remote controller 212, or it may be automatically controlled by infrared remote driver 214.
During recording, the tape index location of the VCR 206 will be transmitted over control/data bus 270 to the CPU 228. This start address information is stored in tape directory RAM memory 234, together with the program title. The bus 270 also carries VCR control commands for recording, playback, tuner selection, and other functions, including power on/off.
Once a program is recorded, its title and other program information is stored in a section of the Record Memo RAM memory 236. To play back a recorded program, the What's on Tape request will cause a directory of recorded programs on the tape to be displayed. When a program is selected for playback from this directory, the tape will fast forward or reverse to the tape index location specified in the Tape Directory RAM memory 234.
In the system 182, schedule/tape controller 220 is embedded in the VCR 211. The VCR tape mechanism 252 contains all the record and playback electronics of the video recorder, less the programmable tuner 207. Data recorded on the control track of a tape is coupled to the CPU 228 over input bus 258 and output bus 256. The art of recording data on the control track is well known, for example, in recent VCRs with indexing capability. CPU 228 commands to the VCR 211 are carried over bus 254. When schedule information is to be displayed, video switcher control input 246 selects the display generator on line 218. At other times, video switcher 226 selects the output of the VCR mechanism 252 on line 250.
Schedule information may be downloaded from the VBI. Alternatively or supplementally, it may be downloaded from a telecommunication line 270 to modem 268 and to CPU 228 via line 266. Other means of delivering schedule information can be employed, including the use of a subcarrier channel on the cable service.
It should now be readily apparent to those skilled in the art that a system and method incorporating a novel user interface capable of achieving the stated objects of the invention has been provided. The user interface that is configured to compensate for the particular nature of the television schedule information. The user interface has a cursor operation that compensates for an irregular grid format of the television schedule information. The user interface presents the schedule information in a format that compensates for limited resolution of the television display. The user interface presents supplemental schedule information in overlays that obscure a minimum amount of useful other information. Order of presentation of the schedule information in the interface is customizable by user preference.
It should further be apparent to those skilled in the art that various changes in form and details of the invention as shown and described may be made. It is intended that such changes be included within the spirit and scope of the claims appended hereto.

## Claims

1. A method comprising:
storing television schedule information in a television guide system, the television schedule information including television program listings, each program listings comprising at least a program title; 
displaying a television schedule guide including a portion of the television program listings; 
receiving user input identifying a program listing in the television schedule guide; and 
searching the television schedule information for program listings other than the identified program listing that correspond to the identified program listing.

2. The method of claim 1 further comprising recording a television program corresponding to a selected occurrence of the corresponding program listings.

3. The method of claim 1 further comprising displaying a first updated television schedule guide wherein a selected occurrence of at least one of the corresponding program listings is indicated on the updated television schedule guide.

4. The method of claim 3, wherein the indication on the updated television schedule guide is a link icon.

5. The method of claim 4, wherein the link icon denotes the recording of a television program corresponding to an occurrence of the program listing in the updated television schedule information.

6. The method of claim 5 further comprising deselecting the program listing in the updated television schedule information.

7. The method of claim 6 further comprising displaying a second updated television schedule guide wherein the deselected occurrence of the program listing is indicated on the second updated television schedule guide.

8. The method of claim 7, wherein the deselected occurrence of the program listing is indicated on the second updated television schedule guide by an omission of a link icon.

9. The method as recited in claim 4, further comprising:
selecting the program listing in the updated television schedule guide; 
displaying a second updated television schedule guide wherein the selected program listing is indicated on the second updated television schedule guide; and 
wherein the selected program listing is indicated on the second updated television schedule guide by an omission of a link icon.

10. The method of claim 1, further comprising selecting the identified program listing for recording.

11. The method of claim 10, further comprising automatically recording a program identified by at least one of the corresponding program listings.

12. A system for generating a television schedule comprising:
one or more memories that store television schedule information, the television schedule information including television program listings, each program listing comprising at least a program title; 
a display generator configured to display a television schedule guide, the television schedule guide including a portion of the television program listings; 
an input configured to receive identification of a program listing in the television schedule guide; and 
a processor coupled to the one or more memories and the input, wherein the processor is configured to search the television schedule information for program listings other than the identified program listing that correspond to the identified program listing.

13. The system of claim 12, wherein the processor is further configured to schedule recording of a television program corresponding to one or more of the corresponding program listings.

14. The system of claim 13, wherein the display generator is further configured to display an updated television schedule guide, the updated schedule guide including a second portion of television program listings, and the display generator displays the updated television schedule guide, wherein the scheduled one or more program listings is indicated on the updated television schedule guide.

15. The system of claim 14, wherein the scheduled one or more program listings is indicated on the updated television schedule guide with a link icon.

16. The system of claim 15, wherein the link icon denotes the recording of a television program corresponding to the at least one of the corresponding program listings from the updated television schedule information.

17. The system of claim 14, the processor further characterized in that the processor receives a second selection of the program listing from the input device, the display generator displays a second updated television schedule guide, wherein the second selected program listing is indicated on the second updated television schedule guide.

18. The system of claim 17, wherein the second selected program listing is indicated on the second updated television schedule guide by omission of a link icon.

19. The system of claim 12, wherein the processor is further configured to schedule recording of a television program corresponding to the identified program listing.

20. The system of claim 19, wherein the processor is further configured to automatically record a television program corresponding to at least one of the corresponding program listings.

21. A system for generating a television schedule comprising:
means for storing television schedule information in a television guide system, the television schedule information including television program listings, each program listings comprising at least a program title; 
means for displaying a television schedule guide including a portion of the television program listings; 
means for receiving user input identifying a program listing in the television schedule guide; and 
means for searching the television schedule information for program listings other than the identified program listing that correspond to the identified program listing.

22. The system of claim 21 further comprising recording a television program corresponding to a selected occurrence of the corresponding program listings.

23. The system of claim 21 further comprising means for displaying a first updated television schedule guide wherein a selected occurrence of at least one of the corresponding program listings is indicated on the updated television schedule guide.

24. The system of claim 23, wherein the indication on the updated television schedule guide is a link icon.

25. The system of claim 24, wherein the link icon denotes the recording of a television program corresponding to an occurrence of the program listing in the updated television schedule information.

26. The system of claim 23 further comprising means for receiving user input to deselect the program listing in the updated television schedule information.

27. The system of claim 26 further comprising means for displaying a second updated television schedule guide wherein the deselected occurrence of the program listing is indicated on the second updated television schedule guide.

28. The system of claim 27, wherein the deselected occurrence of the program listing is indicated on the second updated television schedule guide by an omission of a link icon.

29. The system as recited in claim 24, further comprising:
means for selecting the program listing in the updated television schedule guide; and 
means for displaying a second updated television schedule guide wherein the selected program listing is indicated on the second updated television schedule guide; 
wherein the selected program listing is indicated on the second updated television schedule guide by an omission of a link icon.

30. The system of claim 21, further comprising selecting the identified program listing for recording.

31. The system of claim 30, further comprising automatically recording a program identified by at least one of the corresponding program listings.