METHOD AND APPARATUS FOR DISPLAYING TELEVISION PROGRAMS AND RELATED TEXT

Abstract: A television viewer uses a PIP format for display of program related information (46) such as television program listings from a program schedule data base (22) in the background and moving, real time or stored video clip images of a program selected from the displayed listings in the PIP window (42). All the text of the background information lies outside the PIP window. In one embodiment, as the viewer selects a particular program from the display of current television program listings by means of a cursor (48) or a code number, the corresponding program automatically appears in the PIP window.

Description: METHOD AND APPARATUS FOR DISPLAYING TELEVISION PROGRAMS AND RELATED TEXT Background of the Invention This invention relates to the field of television and, more particularly, to a method and apparatus for simultaneously displaying video programs and related text on a television screen. For a number of years television receivers have been equipped with picture-in-picture (PIP) capability. In PIP format, the moving, real time images of one television channel are displayed on the background of the screen and the moving, real time images of another television channel are displayed in a PIP window overlaid on a small area of the background. Because two channels are simultaneously displayed by the television receiver, two tuners are required. The viewer enters the PIP mode by pressing a PIP key of his or her controller. Then, the viewer can change either the channel of the background or the channel of the PIP by resetting the appropriate tuner. To reverse the background and PIP images, the viewer simply presses a SWAP key. To collapse the PLP window, the viewer again presses the PIP key. Television program guides help television viewers select programs to watch. Such television program guides list the available television programs by day of the week, time of day, channel, and program title. For many years television program guides have been published in hard copy form. More recently as illustrated by Levine Patent 4,908,713, television program guides have begun to take an electronic form. In other words, the schedule of program listings is stored in an electronic memory connected to the television receiver. The program listings are recalled from memory by the viewer on command for display on the television screen. Despite the prevalence of television program guides, many viewers still make their program selections by switching the television tuner from channel to channel and observing on the screen what program is being received on the respective channels. This process is sometimes called "grazing." Emanuel Patent 5,161,019 discloses an automated form of channel grazing. A preselected group of channels are sequentially scanned by switching the tuner of the television receiver from channel to channel. A still image of the program received on each channel is stored in a memory. After all the channels have been scanned, the still images from all the channels are simultaneously displayed on the television screen. This process gives the viewer more information about the program choices in addition to that obtainable from a television program guide, namely, the displayed still images of the actual programs. Summary of the Invention According to the invention, the moving images of a television program are displayed in a PIP window on the screen of a television monitor and textual information related to the television program is displayed in the background on the screen. Preferably, the audio portion of the television program displayed in the PIP window is also reproduced by the sound system of the television monitor. The textual information is arranged on the screen so none of it is covered by the moving images. In one embodiment, the textual program related information (PRI) is a television program schedule. One of the program listings of the schedule identifies by title and time and/or channel the television program in the PLP window, which comprises moving images. To facilitate channel grazing, a television viewer can use a PIP format for display of current television program listings from a program schedule data base in the background and moving, real time images of a program selected from the displayed listings in the PLP window. Specifically, as the viewer selects a particular program from the displayed current television program listings by means of a cursor or a code number, the corresponding program automatically appears in the PIP window. In this way, the viewer can channel graze by sequentially selecting the individual program listings in the background. When the viewer finds a program that the viewer wishes to watch, the viewer leaves the PIP format and returns to full screen television viewing, the tuner already being set to the desired program. To do this the viewer can reverse the background and PIP window and then collapse the window, leaving the desired program on the full screen or apparatus can be configured to return to full screen viewing in a single step. To permit the viewing of programs scheduled for future broadcast without losing sight of the current program being watched, a television viewer can use a PIP format for display of television program listings for a specific channel from a program schedule data base in the background and moving, real time images of the current program on that channel in the PIP window. Specifically, as the viewer changes channels, the current program on that channel automatically appears in the PIP window. The viewer can control the background to display program listings for a period of days, e.g. a week, in the future. In this way, the viewer can continue to watch a television program while ascertaining the future programs on the channel to which the television tuner is set. When the viewer finds a program that the viewer wishes to watch, the background disappears, leaving the program on the channel to which the tuner is set on the full screen. In another embodiment, a television viewer can use a PIP format for display of future television program listings from a program schedule data base in the background and moving images of a video clip of one of the program listings in .the background display selected for example by a cursor. In yet another embodiment, the textual program related information (PRI) is a message that is broadcast in the vertical blanking interval of the television signal contemporaneously with the television program displayed in the PLP window. Brief Description of the Drawings The features of specific embodiments of the best mode contemplated of carrying out the invention are illustrated in the drawings, in which: FIG. 1 is a schematic block diagram of a television receiver that has an electronic television program guide incorporating the principles of one embodiment of the invention; FIGS. 2 to 5 are television screens formatted in accordance with the embodiment of FIG. 1; FIG. 6 is a top plan view of a remote controller for operating the electronic program guide of FIG. 1; FIGS. 7 to 14 are flow diagrams showing how a viewer navigates through the electronic program guide of FIG. 1 and the screen formats encountered by the viewer during such navigation; FIG. 15 is a schematic diagram depicting the hierarchy of prompts and guides shown in FIGS. 7 to 14; FIGS. 16 and 17 are screens formatted to designate by color coding the title of the program in the PIP window and the title of the program in the program description area; FIG. 18 is a screen formatted to display a real time television program with an electronic program guide, and thereby simulate the screen format of FIG. 2, 3, 4, or 5, with a television receiver that does not have a PIP chip; FIG. 19 is a graph illustrating an alternative way for the viewer to navigate through the television program guide; FIG. 20 is a schematic block diagram of a television receiver that has an electronic television program guide that displays PRI in accordance with the principles of another embodiment of the invention; and FIG. 21 is a screen formatted to display the PRI recovered by the receiver of FIG. 20; FIG. 22 is a diagram of the RAM memory data base that illustrates the static and dynamic areas of memory. FIG. 23 is a diagram of the download packet received by the system. FIG. 24 is a representation of the memory bit map contained in the RAM memory. FIG. 25 is a representation of the pre-established time list data structure contained in the static area of the RAM memory. FIG. 26 is an illustration of a show information package data structure. FIG. 27 is an illustration of a section of a show information package data structure. FIG. 28 is an illustration of an extended theme show list. FIG. 29 is a representation of the channel map data structure contained in the static area of the RAM memory. FIG. 30 is a representation of the control array data structure contained in the static area of the memory. FIG. 31 is a representation of the call letter map data structure located in the static area of the RAM memory. FIG. 32 is a representation of the record queue data structure located in the static area of the RAM memory. FIGS. 33 to 35 are television screens formatted in accordance with another embodiment of the invention; FIGS. 36 to 38 are flow diagrams showing how a viewer navigates through the electronic program guide of FIG. 1 that includes the screen formats of FIGS. 33 to 35; and FIG. 39 is a schematic diagram depicting the hierarchy of prompts and guides shown in FIGS. 36 to 38. Detailed Description of a Specific Embodiment In the following description of the embodiments of the invention, common reference numerals are used to represent the same components. If the features of all the embodiments are incorporated into a single system, these components can be shared and perform all the functions of the described embodiments. In a preferred embodiment, the invention displays information about television program schedules and content in a tripartite electronic television program guide. One screen format is a time specific program guide (TISPG); another screen format is a channel specific program guide (CSPG); and the third screen format is a theme specific program guide (TΗSPG). In each case, the moving images of a currently broadcast television program are displayed in real time in a PIP window. With reference to FIG. 1, a source of television signals 10 such as a terrestrial antenna, or a cable is connected to a television tuner 11. The output of tuner 11 is a modulated intermediate frequency signal containing video and audio television information. Tuner 11 is connected by an intermediate frequency amplifier (IF AMP) 12 to a picture detector (PICTURE DET) 13 and a sound detector (SOUND DET) 14, which produce base band video and audio signals, respectively. The audio signal is coupled by a sound amplifier (SOUND AMP) 15 to a loudspeaker 16. The video signal is coupled by a video amplifier not shown to one input of a switch 18. Sound detector 14 and picture detector 13 are connected to the audio and video inputs, respectively, of a video cassette recorder (VCR) 17. (Alternatively, television signal source 10 could be directly connected to the RF input of VCR 17, if its internal tuner and demodulating circuitry is to be utilized.) The output of VCR 17 is connected to the other input of switch 18. The output of switch 18 is connected to one input of a conventional picture-in-picture (PIP) integrated circuit chip 19. The output of PLP chip 19 is connected to the video input of a television receiver or monitor (TV) 20 having a screen (not shown). An updatable data base of the schedule of program listings of all the available channels for a prescribed period of time, e.g. a day or a week, is electronically stored in a program schedule memory 22. These program listings typically include for each program the title, a program description, the day of the week, the start time of the day, the program length, and the channel on which the program is transmitted and thus available for reception at source 10. In a preferred embodiment of the invention, the period of time for which the program listings are stored is different for the guides, depending upon viewer priorities and preferences. For example, the information needed to display the TISPG and CSPG may be stored for one or two days and the information needed to display the TSPG may be stored for a week or more. The data base can be updated by a continuous data link in the vertical blanking interval (VBI) of one television channel broadcast to the television receiver in well known fashion. Alternatively, the data base can be updated by unplugging memory 22 and replacing it with a memory having the updated data base. Memory 22 is connected to a microprocessor 24 that is programmed to control the operation of the described equipment. An operating program for microprocessor 24 is stored in a read only memory (ROM) 26. A viewer input device 28, preferably in the form of a remote IR controller, is coupled to microprocessor 24 to provide commands from the viewer. A video processor 30 is coupled to microprocessor 24. When the viewer wishes to see television program listings, microprocessor 24 recalls a portion of the program schedule data base from memory 22 and couples it to video processor 30, where the program listings are formatted for display. Preferably, the information stored in video processor 30 is a bit map of what is displayed on the screen of television receiver 20. Video processor 30 is connected to the other input of PIP chip 19. Preferably, viewer input device 28 controls microprocessor 24 by cursor movement on the screen of television receiver 20. To this end, microprocessor 24 and video processor 30 are coupled to a cursor position register 32. (Alternatively, the viewer can select items of information displayed on the screen by keying into viewer input device 28 code numbers assigned to these items.) Microprocessor 24 is also coupled to tuner 11 for channel change, to VCR 17 for play/record selection and start stop, to switch 18 for selection of one of its inputs, and to PIP chip 19 for selection of the mode of PIP operation. The formats of the electronic program guide are shown in FIGS. 2 to 5. Each format has a background area 40 and an overlaid PIP window 42 in the upper left-hand corner of the screen. The real time, i.e., 6:15 p.m., is displayed in a sub-area 42a PIP window 42. Background area 40 includes a banner and message prompting area 43 at the top of the screen, a program description area 44 in the upper right-hand corner of the screen adjacent to PIP window 42, and a program schedule area 46 below areas 42 and 44. Program description area 44 includes the start time and length (duration) of the program being described. The viewer can move a cursor 48 vertically to highlight one of the program listings displayed in area 46. The highlighted background of cursor 48 and the background of program description area 44 are the same color or shade. In each format, the complete, moving images of a currently broadcast television program in real time and the current time are displayed in PIP window 42 and the audio portion of the television program displayed in PIP window 42 is reproduced by the sound system of monitor 20. The information displayed in areas 43, 44, and 46 varies depending upon the format. One version of the TISPG screen format is shown in FIG. 2, namely a version that displays program listings of television programs being broadcast at the current time. In the following description, this format is sometimes called the "NOW" guide or the "ALL CHANNEL" guide. Program schedule area 46 has a column for channel name or call letters, a column for channel number, and a column for program title; each line of area 46 represents a separate program listing. The moving, real time images of the current television program highlighted by cursor 48 are displayed in PIP window 42 and a brief program description of the highlighted program is displayed in area 44. In FIG. 3 another version of the TISPG screen format displays in area 46 program listings being broadcast at a future time, i.e., 8:00 p.m. In the following description, this format is sometimes called the "NEXT" guide. The viewer can select the future time of the program listings to be displayed at intervals such as one-half hour. The selected future time, i.e., 8:00 p.m., for the program listings displayed in area 46 is shown in a sub-area 43a of area 43. A brief program description of the program listing highlighted in area 46 by cursor 48 is displayed in area 44. The current program being broadcast remains displayed in PIP window 42, and a banner 49 which identifies the current program by channel name, channel number, and program title is displayed between PLP window 42 and area 46 on a background having a different color or shade than cursor 48. In FIG. 4, the CSPG screen format is shown. In the following description, this format is sometimes called the "THIS CHANNEL" guide. All the program listings for a selected channel, i.e., FOX Channel 7, are displayed in area 46, from the currently broadcast program into the future for a specified time period, e.g., 24 hours or until the end of the next day. Area 46 has a column for time and a column for program title; each line of area 46 represents a separate program listing. The moving, real time images of the current television program are displayed in PIP window 42. If the cursor also highlights the current program, a brief program description of the current program is displayed in area 44. If the cursor highlights another program listing, as shown in FIG. 4, a brief program description of the highlighted program is displayed in area 44 and the current program is identified in banner 49 by time and title. In FIG. 5, the THSPG screen format is shown. In the following description, this format is sometimes called the "SORT" guide. The program listings for a selected theme or subtheme, i.e. , ALL MOVIES, are displayed in area 46, from the next broadcast program into the future for a specified time period, e.g., one week. Area 46 has a heading 46a that identifies the theme or subtheme, date, and day, i.e., ALL MOVIES DEC 12 MON, a column for title, a column for start time, and a column for channel name or number; each line of area 46 represents a separate program listing. The moving, real time images of the current television program are displayed in PLP window 42 and the current program is identified in banner 49 by channel name or number and title. A brief program description of the program highlighted by cursor 48 is displayed in area 44. All four areas of background 40 are formatted in video processor 30. The memory space of video processor 30 corresponding to the area in which PIP window 42 appears on the screen is left blank; i.e., although overlaid on background area 40, PLP window 42 does not cover up any of the information of background area 40. By means of a pair of up/down arrows on viewer input device 28, the viewer can move a cursor 48 vertically to highlight the listing of one of the currently playing television programs displayed in area 46. Preferably, to reduce delays in displaying the program schedules, all the program listings for the particular screen format are stored in video processor 30, even though only a fraction of them are displayed at the same time. When the cursor reaches the top or bottom listing in area 46, microprocessor 24 recalls further program listings from video processor 30 for display on the screen of television receiver 20. In all the formats, the moving, real time images of the current television program highlighted by cursor 48 are displayed in PLP window 42, the program description of the highlighted program is displayed in area 44, program listings of one type or another are displayed in area 46, and one or more prompts are displayed in banner area 43 as described in more detail below. The audio portion of the television program displayed in PIP window 42 is reproduced by the sound system of monitor 20. The PIP display, the sound reproduction, and the program description in area 44 enable the viewer to assess better whether or not to watch the highlighted program. As the viewer moves cursor 48 vertically from program listing to program listing, the current television program displayed in window 42 and the program description displayed in area 44 automatically change accordingly to match the highlighted program in area 46. As the cursor moves from one program listing to another, tuner 11 is set to the channel for the highlighted program listing so the program can be displayed in PIP window 42, microprocessor 24 recalls the program description for the highlighted listing from program schedule memory 22, and video processor 30 formats this program description so it can be displayed in area 44. Preferably, two levels of detail are available for the program description. Normally, the first level detail of the program description is displayed in area 44 as described above. When more detail is desired, the viewer operates input device 28 to display a second level detail of the program description. There are two options for the display of the second level detail. As one option, the second level detail can replace the first level detail in area 44. This has the advantage that the program listings can continue to be seen by the viewer while more detail about the program description is displayed. As the other option, the second level detail can replace the program listings in area 46. This has the advantage that more space is available to display the second level of detail than the first level. Reference is made to FIGS. 6 to 14 for a description of the steps taken by a viewer to navigate about the preferred embodiment of the television program guide. Viewer input device 28 preferably takes the form of a hand-held remote infrared (IR) transmitter which communicates with an infrared receiver connected to microprocessor 24. As shown in FIG. 6, the IR transmitter has a housing 50 on which a number of control buttons are mounted. A GUIDE/TV button 52, an LNFO button 54, and a VCR PLUS+ button 56 are located above up and down arrow buttons 58 and 60. A row of buttons 62, 64, 66 and 68 which marked with the colors red (R), green (G), yellow (Y), and blue (B), respectively, underlie down arrow button 60. Red, green, yellow, and blue prompts are displayed in area 43 of the electronic guides. To select a prompt on the screen, the button of the IR transmitter having the corresponding color is pressed, i.e., to select the blue prompt on the screen, blue button 68 is pressed. The screen formats and the links between the individual guides are designed with two objectives in mind-first, always to display the program the viewer was watching before entering the electronic guide and second, never to leave the electronic guide while navigating through it, until the viewer returns to the TV mode. As described below, the guides are linked to each other in a one way hierarchy that is accessed by on screen prompts color coded to the buttons on the remote control transmitter. At each level of the hierarchy, the viewer has the choice of returning to a backbone guide, or moving down to a guide at a lower level in the hierarchy. At the lowest level, the only choice is to return to the backbone guide. At each level, the viewer's choices are displayed on the screen by the prompts, so the need to use the buttons on viewer input device 28 to navigate through the guide is minimized. As represented in FIG. 7 by a box 70, the viewer enters the electronic guide by pressing GUIDE/TV button 52 on the remote transmitter. As represented by a box 72, the so-called "NOW" guide is then displayed on the screen. This is the "backbone" of the electronic guide in that it is the starting point for entry into each other guide. As represented by a box 74 in each of FIGS. 8 to 14, the viewer may cursor up and down the program listings in area 46 to select a particular program. As represented by a box 76 in each of FIGS. 8 to 14, the viewer presses GULDE TV button 52 to return to the full screen TV mode and presses INFO button 54 to display the second level detail of the program information in area 44 or area 46. In FIG. 7 a box 80 depicts the layout of the NOW guide, which is a version of the TISPG screen format. Area 43 has a blue "CHOICE" prompt and a banner that identifies the format as the "NOW" format and displays the date, day, and time. When the viewer presses blue button 68 on the remote transmitter (FIG. 6), as represented by a block 82, four prompting choices are presented to the viewer. As represented by a block 84 in FIG. 8, these prompting choices are displayed in an "ALL CHANNEL" guide. Block 86 represents the "ALL CHANNEL" guide, which is identical to the "NOW" guide except for area 43. This is a transition guide in that it permits the viewer to enter other guides at a lower level of the hierarchy by following the displayed prompts. In the "ALL CHANNEL" guide, a red NOW prompt, a green CSPG prompt, a yellow NEXT prompt, and a blue SORT prompt are displayed. As represented by a box 88, in each of the guides of FIGS. 8 to 14, a return to the NOW guide of FIG. 7 occurs when the viewer presses red button 62 on the remote control transmitter. As represented by a box 90 in FIG. 8 and a box 92 in FIG. 9, when green button 64 is pressed from the ALL CHANNEL guide, a "THIS CHANNEL" guide in the CSPG format described above is displayed. A box 94 depicts the THIS CHANNEL guide, which is at the bottom of the hierarchy. So, only one prompt is displayed in area 43, namely the red NOW prompt, which permits the viewer to return to the NOW guide. Area 43 also displays the name and channel number of the specific channel, e.g. ABC, Channel 7. As represented by a box 96 in FIG. 8 and a box 98 in FIG. 10, to display the "NEXT" guide, the viewer presses yellow button 66 on the remote control transmitter. The NEXT guide, which has the TISPG format, is depicted by a box 100. Initially, current programs are displayed in area 46, as in the NOW guide (FIG.2). Area 43 in the NEXT guide has in addition to the red NOW prompt, a green up arrow prompt, a blue down arrow prompt, and the time of the programs displayed in guide between the up and down arrows. Area 43 also displays the time at which the listed programs are broadcast, i.e., initially the current time. Each time the viewer presses blue button 68, the guide advances one half hour so the programs broadcast at a one-half hour later time are displayed, as represented by a box 104, and the time displayed in area 43 changes accordingly. Each time the viewer presses green button 64, the guide retreats one half hour so the programs broadcast at a one- half hour earlier time are displayed, as represented by a box 102 and the time displayed in area 43 changes accordingly. When buttons 64 and 66 are pressed to display future programs in area 46, banner 49 (FIG. 3) appears to identify the current real time television program being displayed in PIP window 42. The NEXT guide is at the bottom of the hierarchy so the only route of exit from this guide is the RED prompt to return to the NOW guide. As represented by a box 105 in FIG. 8 and a box 106 in FIG. 11, a first level of "SORT" prompts is displayed when the viewer presses blue button 68 while in the ALL CHANNEL guide. As depicted by a box 108 (FIG. 11), in addition to the red NOW prompt, there are a first level of SORT buttons that comprise a green MOVIES prompt, a yellow SPORTS prompt, and a blue OTHERS prompt in area 43. The ALL CHANNEL guide for the current time, i.e., NOW guide remains displayed in area 46. When the viewer presses green button 64, an "ALL MOVIES" guide is displayed in area 46, as represented by a box 109 in FIG. 11 and a box 112 in FIG. 12, and screen-1 of a second level, i.e., subtheme, of movie SORT buttons is displayed in area 43, as represented graphically in a box 114 in FIG. 12. When the viewer presses blue button 68, the NOW guide is displayed in area 46, as represented by a box 130 in FIG. 14 and screen-2 of the first level, i.e., the SORT buttons, is displayed in area 43, as represented graphically in a box 111 in FIG. 11 and a box 132 in FIG. 14. In addition to the red NOW prompt, the screen-1, second level movie SORT buttons (FIG. 12) comprise a green ACTION prompt, a yellow COMEDY prompt and a blue OTHER prompt for calling up a screen-2 series of SORT buttons to permit selection of other subcategories of movies. In the ALL MOVIES guide, the sum of all the movies in all the subcategories are displayed. When the viewer presses green button 64, an ACTION MOVIES guide (not shown) is displayed in area 46. When the viewer presses yellow button 66, a COMEDY MOVIES guide (not shown) is displayed in area 46. In each of these cases, only a RED prompt is displayed in area 43 because the electronic guide is at the bottom of the hierarchy and the only route the viewer can take is to return to the NOW guide (FIG. 7). When the viewer presses green button 64, an ACTION MOVIES guide (not shown) is displayed in area 46. When the viewer presses yellow button 66, a COMEDY MOVIES guide (not shown) is displayed in area 46. In each of these cases, only a RED prompt is displayed in area 43 because the electronic guide is at the bottom of the hierarchy and the only route the viewer can take is to return to the NOW guide (FIG. 7). When the viewer presses blue button 68, as represented by a box 120 in FIG. 12 and a box 122 in FIG. 13, the ALL MOVIES guide remains displayed in area 46 and the screen-2 series of second level movie SORT buttons is displayed in area 43. As represented graphically by a box 124, the screen-2 series of SORT buttons for the second movie level comprise, in addition to the red NOW prompt, a green DRAMA prompt, a yellow HORROR prompt, and a blue ALL OTHER prompt. When the viewer presses green button 64, a DRAMA MOVIES guide (not shown) is displayed in area 46. When the viewer presses yellow button 66, a HORROR MOVIES guide (not shown) is displayed in area 46. When the viewer presses blue button 68, a ALL OTHER MOVIES guide (not shown) is displayed in area 46. In each of these cases, only a RED prompt is displayed in area 43 because the electronic guide is at the bottom of the hierarchy and the only route the viewer can take is to return to the NOW guide (FIG. 7). The reason for multiple screens of prompts in the movie theme guide is to provide the number of prompts in area 43 to display all the subcategories of movies. Instead of an ALL OTHER movie prompt, a screen-3 series of second level movie SORT buttons could be displayed if more movie subcategories are desired. This pattern of screen could be extended as far as necessary to satisfy the need for subcategories. As represented in FIGS. 11 and 14, when the viewer presses blue prompt button 68 in the first level of SORT buttons, a screen-2 of first level SORT buttons is displayed in area 43 and the NOW guide remains displayed in area 46. As depicted graphically by box 132, in addition to the red NOW prompt, the screen-2 SORT buttons comprise a green CHILD prompt, a yellow SPECIAL prompt, and a blue SERIES prompt. When the viewer presses green button 64, an ALL CHILDREN'S guide (not shown) is displayed in area 46 as represented by a box 134. When the viewer presses yellow button 66, an ALL SPECIAL guide (not shown) is displayed in area 46 as represented by a box 136. When the viewer presses blue button 68, an ALL SERIES guide (not shown) is displayed in area 46 as represented by a box 138. In each of these cases, only a RED prompt is displayed in area 43 because the electronic guide is at the bottom of the hierarchy and the only route the viewer can take is to return to the NOW guide (FIG. 7). As represented by block 110 in FIG. 11, when the viewer presses yellow prompt button 66, an ALL SPORTS guide is displayed in area 46. Alternatively, there could be multiple levels and screens of sports SORT buttons in analogous fashion to the hierarchy of the movie prompts and guides. (Such a hierarchy could also be provided for any of the other categories of the SORT guide.) FIG. 15 shows the hierarchy of prompts and guides described in connection with FIGS. 7 to 14, beginning with the entry into the electronic guide by pressing button 52 on the IR transmitter. The particular guide displayed on the screen in area 46 when a prompt is selected is designated in parentheses, e.g. the NOW guide is displayed when the CHOICE prompt is selected. In each case the guide remains unchanged from the preceding guide in the hierarchy. If no guide is designated in parentheses, the guide displayed when a prompt is selected is the same as the prompt, e.g., the THIS CHANNEL guide is displayed when the CSPG prompt is selected and the ALL MOVIES guide is displayed when the ALL MOVIES prompt is selected. Note that a broken line 150 depicts the levels of the SORT hierarchy-the first level lies above line 150 and the second level lies below line 150. At any level of the hierarchy, the viewer has two choices for navigating through the guide-select the RED prompt to return to the NOW guide or select one of the GREEN, YELLOW, or BLUE prompts to move to the following level. As stated above, the hierarchy of guides and prompts can be expanded to provide more themes by changing the ALL SERIES prompt to a OTHERS SCREEN-3 prompt and to provide more subthemes of movies by changing the ALL OTHER MOVIES prompt to a ALL MOVIES SCREEN-3 prompt, etc. Similarly, the hierarchy of guides and prompts can be expanded to provide subthemes for other themes, e.g., SPORTS, in the same manner as illustrated for MOVIES. A feature of the invention that facilitates viewer orientation in the electronic guide is to color code PIP window 42 and program description area 44 consistently with the titles of the programs to which the information in these areas relate. Specifically, as illustrated in FIG. 16, in the NOW guide (FIG. 2) PIP window 42 has a border 152 that is the same color, e.g., dark blue, as ti e background of area 44 and cursor 48, which forms a color bar. Further, as illustrated in FIG. 17, in the NEXT guide (FIG. 3), as well as the THIS CHANNEL guide (FIG. 4) and the SORT guide (FIG. 5), where the description in area 44 relates to a different program than that displayed in PIP window 42, the background of area 44 is a different color or shade than border 152. The latter guides all have a cursor (color bar) 48 that identifies the title of the program described in area 44. For example, the background of area 44 and cursor 48 are light blue to signal to the viewer that the title highlighted by cursor 48 identifies the program described in area 44, while border 152 and banner 49 remain dark blue to signal that the title in banner 49 identifies the program in PLP window 42. If die television receiver does not have a PIP chip, the described screen formats can be simulated by rearranging the prompts and the guide and program description information and overlaying such information over the real time moving images of the current television program. In contrast to the PIP format, this results in loss of part of the picture of the television program. But, the remainder of the picture, which is the center part of the image, together with the sound portion thereof generally convenes most of the essential information of the television program. In FIG. 18, such a simulation has a truncated real time picture area 160, instead of PLP window 42, a message prompting area 162, instead of area 43, a program description area 164, instead of area 44, and an electronic program guide area 166, instead of area 46. Area 164 is located across the full width at the top of the screen area and preferably does not include the program title. Prompt area is at the bottom of the screen area and is otherwise like the PLP screen format described above. Guide area 166 is between areas 160 and 162 and preferably has several fewer lines of program listings than the PIP screen format. The size of the picture in area 160 is the same as the picture when the electronic guide is not operating, but the top and bottom parts of the picture are cut off by areas 162, 164, and 166. To implement this embodiment of the invention, the following changes in the television receiver of FIG. 1 are made: O Microprocessor 24 is configured to format the screen as shown in FIG. 18, leaving blank area 160. O PIP chip 19 is replaced by a video mixer. FIG. 19 illustrates another way to navigate through the electronic guides described above. The abscissa represents time and the ordinate represents channel. As represented by a line 170, starting in the NOW guide, the viewer moves the cursor from channel to channel and current programs are displayed in the PIP window. As represented by a line 172, the viewer selects the THIS CHANNEL guide and moves the cursor from time slot to time slot. The program on the channel to which the tuner was last set in the NOW guide remains displayed in PLP window 42 and the description of the program on said channel at the time slot highlighted by the cursor is displayed in area 44. As represented by a 174, the viewer selects the NEXT guide and moves the cursor from channel to channel. The program on the channel to which the tuner was last set in the NOW guide remains displayed in PIP window 42 and the description of the program on the channel highlighted by the cursor at the time slot last highlighted in the NEXT guide is displayed in area 44. As represented by a line 176, the viewer again selects the THIS CHANNEL guide and moves the cursor from time slot to time slot. The program on the channel to which the tuner was last set in the NOW guide remains displayed in PLP window 42 and the description of the program on the channel last highlighted in the NEXT guide at the time slot currently highlighted by the cursor is displayed in area 44. As represented by a line 178, the viewer selects the NEXT guide and moves the cursor from channel to channel. The program on the channel to which the tuner was last set in the NOW guide remains displayed in PIP window 42 and the description of the program on the channel highlighted by the cursor at the time slot last highlighted in the NEXT guide is displayed in area 44. As represented by a line 180, the viewer again selects the THIS CHANNEL guide and moves the cursor from time slot to time slot. The program on the channel to which the tuner was last set in the NOW guide remains displayed in PLP window 42 and the description of the program on the channel last highlighted in the NEXT guide at the time slot currently highlighted by the cursor is displayed in area 44. In this manner the viewer can navigate either into the future or toward the current time and across channels to determine the television program schedule. In summary, rather than navigating through a two dimensional (time/channel) grid guide, the technique described in connection with FIG. 19 isolates the two dimensions, i.e., time and channel, and displays all the channels at any time selected by the viewer or all the times on any channel selected by the viewer. Another feature that is particularly useful in the NOW guide calls for the temporary selective elimination of program listings by viewer command. Thus, in the NOW guide when the viewer is not interested in a displayed program, the viewer can move the cursor to d e unwanted program and press a dedicated DELETE button (not shown) on the LR transmitter or an existing function button such as ENTER. The microprocessor is configured to delete the listing for the program from the NOW guide and to block the tuner from being set to the channel that carries the unwanted program. As a result, the viewer can graze through the programs of interest much more quickly. When the unwanted program is finished, the microprocessor unblocks the tuner from being set to the channel and displays the next program on the channel in the NOW guide. If desired, the microprocessor can be configured to keep the tuner blockage in effect in the THIS CHANNEL guide and the normal television mode. A variation of the above feature is to configure the microprocessor to display the unwanted programs marked with the cursor in a manner that distinguishes from the wanted programs, e.g., in a half gray scale. When the viewer moves the cursor to the unwanted program and presses the DELETE button, the microprocessor is configured to display the unwanted program in the half gray scale, to prevent the cursor from highlighting the unwanted program, and to block the tuner from being set to the channel that carries the unwanted program. Since the unwanted program is still visible, the viewer can change his or her mind before the end of the unwanted program. Thus, the microprocessor is configured to return the program display to normal, to permit the cursor to highlight the program, and to unblock the tuner, when a special cursor control sequence is executed. For example, the sequence could be to move the cursor to the program listing immediately above the unwanted program or series of programs, press the right arrow button to permit movement of the cursor to the unwanted program or programs, highlight with the cursor the unwanted program that it is desired to restore, and then press the DELETE button. As described in more detail below, in program schedule memory 22, the program listings are coded by day of the week, time of day, and channel so that they can be accessed by microprocessor 24 when necessary to supply program schedule information to video processor 30 to compose the program listings and the program descriptions. Microprocessor 24 has a real time clock (not shown), the time of which is compared with the time of day and day of the week codes to select the program listings for the TISPG mode. The functional storage areas of cursor position register 32 are mapped to the storage areas of video processor 30 where the program schedule is formatted for display on background area 40 so cursor position register 32 points to the area of the screen, and thus the particular program, that is highlighted by cursor 48. By comparing the cursor position in register 32 with the channel corresponding to the highlighted area of video processor 30, the channel of the highlighted program is derived and coupled to microprocessor 24. Microprocessor 24 then sets tuner 11 to this channel. In TISPG operation, microprocessor 24 recalls the appropriate program listings from memory 22 and transmits them to video processor 30 where the program listings of area 46 and the program description of the highlighted program in area 44 are composed. At the same time, microprocessor 24 operates switch 18 so the output of tuner 11 is directly connected to the one input of PIP chip 19 and switches PIP chip 19 into a PIP mode, such that the input from tuner 11 is displayed in the PIP window and the program schedule from video processor 30 is displayed in the background. Microprocessor 24 senses the channel to which the tuner is set when the TISPG mode is entered, and initially positions cursor 48 at the program listing broadcast on this channel. As the viewer moves the up/down arrows of the cursor control key set, tuner 11 is reset accordingly and new program schedule information is fed through microprocessor 24 to video processor 30 to recompose the program listings so cursor 48 remains visible and the program description remains current. The described TISPG mode facilitates channel grazing by the viewer. When the viewer finds d e video program he or she wishes to watch, the viewer leaves d e TISPG mode. As a result, microprocessor 24 switches PIP chip 19 out of the PLP mode, such that the video program inputted from tuner 11 is displayed full screen. If the viewer wishes to record die program highlighted in die TISPG mode, the viewer commands microprocessor 24 to turn on VCR 17 for recording. If die viewer wishes to play a video tape cassette on VCR 17, d e viewer commands microprocessor 24 to turn on VCR for playback and to operate switch 18 for connection of the output of VCR 17 through PIP chip 19 to television receiver 20. The television receiver of FIG. 1 can also be used with d e format of FIGS. 3, 4, or 5 in an extension of die CSPG mode to display previews of future programming as video clips. The video clips are stored on a video tape cassette that is loaded into VCR 17. The addresses of the video clips on the tape of d e video cassette are stored in program schedule memory 22 as part of d e data base. These addresses are linked to d e respective future program listings in the data base so that a video clip can be accessed on the tape when a program listing is designated in the database. When d e viewer presses the CSPG mode key, in addition to d e operation as described in connection with FIG. 4, microprocessor 24 places d e current program title in banner 49, as illustrated in FIG. 4. So long as cursor 48 highlights d e title of d e current program, the CSPG mode operates as described above. When the viewer moves cursor 48 vertically by operating the cursor control key set on viewer input device 28 to highlight d e title of a future program displayed in area 46, d e address of d e video clip of d e highlighted program listing is retrieved by microprocessor 24 from program schedule memory 22 and transmitted to VCR 17. The video clip is retrieved from the tape in VCR 17 and coupled through switch 18 and PLP chip 19 to television receiver 20 for display in PLP window 42. The video clips on die tape of the videocassette are indexed and accessed in d e manner described in co-pending application Serial No. 08/176,852, filed on December 30, 1993 and entitied ENHANCING OPERATIONS OF VIDEOTAPE CASSETTE PLAYERS, the disclosure of which is incorporated fully herein by reference. An extension of d e TISPG mode illustrated in FIG. 2 also permits display of video clips of future programming. Specifically, in d e time-channel grid format microprocessor 24 also controls cursor 48 responsive to the cursor key set of viewer input device 28, which in tiiis embodiment includes a horizontal cursor control, such as a pair of right/left arrows. As described above, d e address for die highlighted future program listing is retrieved by microprocessor 24 from program schedule memory 22 and transmitted to VCR 17 to access the corresponding video clip, which is displayed in PIP window 42. Another embodiment in which video clips can be displayed in PLP window 42 is illustrated in FIG. 5. In addition to banner area 43 and program description area 44, background area 40 has program schedule area 46, in which program listings are displayed by theme such as movies, sports, current events, etc. Area 46 contains a column for program start time, a column for program channel, and a column for program tide. To implement tiiis embodiment, the program listings of d e data base stored in program schedule memory 22 are also coded by theme so that they can be accessed by microprocessor 24 in response to the viewer selection of themes from an on-screen menu in well known fashion. As described in connection with d e extended TISPG and CSPG modes described above, when the title of a future program listing is highlighted by cursor 48, the corresponding moving image video clip is displayed in PLP window 42. If desired, a video disc player could be substituted for VCR 17 to provide d e video clips to switch 18 in order to speed up d e access time to the moving images displayed in PIP window 42. In another embodiment, program related information (PRI) is displayed in background area 40 while d e real time television program to which d e PRI relates is displayed in PIP window 42. The PRI is transmitted in die vertical blanking interval (VBI) of die television signal of d e channel carrying d e television program to which d e PRI relates, contemporaneously with this television program. As illustrated in FIG. 19, to implement this embodiment a VBI decoder 53 is connected between d e output of tuner 11 and microprocessor 24 and a PRI memory 57 is connected to microprocessor 24 as shown in FIG. 20. The PRI is snipped from d e VBI of the television signal by decoder 53 and stored in memory 57 by microprocessor 24. In operation, when the viewer presses a PRI key on viewer input device 28 d e real time television program of d e channel to which tuner 11 is set is displayed in PIP window 42. In addition to banner area 43 and program description area 44, background area 40 has a PRI area 59 in which different types of PRI are displayed. In FIG. 21 d e real time television program is a cooking demonstration by Julia Child and the PRI displayed in area 59 is a recipe made in the course of d e demonstration. Other information about d e program is displayed in area 44. Another example for d e real time television program could be a commercial for Lexus automobiles and d e PRI displayed in area 59 could be a test drive offer for Lexus. The name and address of d e local Lexus dealer in the geographic area of d e viewer might be displayed in area 44. Another version of die NOW guide is shown in FIG. 33. This version is the same as the guide of FIG. 2 except for the prompts in area 43 , which are SORT NOW, SERVICE, CABLE, and LATER. The SORT NOW prompt permits the viewer to sort by theme, and thus reduce the number of displayed programs, by "filtering out" all d e programs that do not meet a selected tiieme. The SERVICE prompt permits the viewer to enter a mode in which a number of various items of information such as news, weather, sports scores, or financial data can be selected for display. The CABLE prompt permits the viewer to obtain information unique to the particular cable system such as pay per view offerings or special promotions on premium channel packages. The LATER prompt permits the viewer to advance to d e screen shown in FIG. 8 and continue to navigate as described in connection with FIGS. 8 to 15. In FIG. 34, the prompts in area 43 are NOW and SELECT. The real time images of d e last program highlighted by cursor 48 in area 46 of die NOW guide are displayed in PLP window 42, the program description of this program is displayed in area 44, and d e title and channel of die program are displayed in banner 49. A list of program themes is displayed in area 46, instead of program listings. Any of the themes can be highlighted by cursor 48. In FIG. 35, die NOW prompt and a selected theme are displayed in area 43. A list of the current programs meeting die selected tiieme identified in area 43 is displayed is area 46. As in the NOW guide of FIG. 2, when die viewer moves cursor 48 from program to program in area 46, die real time images of die highlighted program are displayed in PIP window 42 and d e program description is displayed in area 44. By thus filtering out the programs meeting die other, nonselected themes, the list of displayed current programs can be sharply reduced. This facilitates channel grazing die programs of interest to die viewer in PLP window 42 because the viewer has fewer programs to highlight witii cursor 48. Reference is made to FIGS. 36 to 39 for a description of d e steps taken by die viewer to navigate about die television program guide of die preferred embodiment described in connection with FIGS. 6 to 14 modified to incorporate the screens of FIGS. 32 to 34. Microprocessor 24 is programmed to carry out die described operations. FIG. 36 is the same as FIG. 7 except that the flow is to FIG. 37, instead of FIG. 8. Thus, when die viewer enters the electronic guide by pressing GULDE TV button 52 on die remote transmitter, the NOW guide is displayed on die screen. When d e viewer presses red button 68 on the remote transmitter, four prompting choices are presented to the viewer. As represented by a block 400 in FIG. 37, these prompting choices are displayed in an "ALL CHANNEL" guide. Block 401 represents an "ALL CHANNEL"guide, which is identical to the "NOW" guide except for area 43. This is a transition guide in that it permits d e viewer to enter die otiier modes described above in connection witii FIG. 33. In tiiis "ALL CHANNEL" guide, a blue SORT NOW prompt, a green SERVICE prompt, a yellow CABLE prompt, and a red LATER prompt are displayed. In tiiis guide, d e viewer cannot return directly to d e NOW guide. To return to the NOW guide, die viewer must first return to die TV mode by pressing button 52. As represented by a box 402 in FIG. 37 and a box 404 in FIG. 38, when blue button 62 is pressed from this ALL CHANNEL guide, d e list of themes is displayed. In FIG 38, as represented by a block 405 a blue NOW prompt and a red SELECT prompt are displayed. When d e viewer presses blue button 62, die NOW guide is displayed in area 46, as represented graphically by a box 406. To select a tiieme, the viewer, operates arrow buttons 58 and 60 to highlight d e selected theme and then presses red button 68, as represented by box 68, to select the theme as represented by a box 408. Thereupon, the NOW guide filtered by theme is displayed in area 46, as represented by a box 410. Instead of a single theme, microprocessor 24 could be programmed to select two or more themes, in which case the current programs meeting all d e selected themes would be displayed. FIG. 39 shows the hierarchy of prompts and guides described in connection with FIGS. 35 to 37. The hierarch shown in FIG. 15 is incorporated into die hierarchy of FIG. 39 as illustrated. Data Base Operations In the preferred embodiment, d e system contains a data base used to store all the information needed to create the program guides and to carry out requests, such as requests to record specific future programs. The data base is stored in program schedule memory 22 and is directly accessible by the system microprocessor 24. The data base is divided into a static area 300 and a dynamic area 301. The static area contains several pre-allocated tables used to store, locate and search data for d e creation of program guides. The pre-allocated tables are placed at fixed, unchanging addresses in the static area to facilitate rapid searching by d e microprocessor. The dynamic area is used to store actual television program schedule data. Since d e system always contains data for the current day (today) and d e following day (tomorrow), die dynamic area is updated as new data is received. FIG. 22 depicts die program schedule memory data base. Static area 300 contains d e call letter map, d e pre-established time list, die channel map, the control array, the memory map, the source map, d e record queue, and pointers to die extended theme show lists. These structures will be described in greater detail below. Dynamic area 301 is used to store television program schedule data. This data takes the form of show information packages (SIPs) and extended theme show list entries. These structures are also described more fully below. Data Traiismission Television program data is received in download packets. The download packets are sent over d e VBI and received by microprocessor 24 in the manner described in FIG. 20. A download packet contains television program schedule information along witii routing data that enables the system to determine how to store die information in memory. FIG. 23 illustrates a download packet. The packet begins with a packet header containing packet ID number 302 used to distinguish this packet from other packets. The packet header also contains number of bytes 303 and number of blocks 304. These values are used to determine d e size of d e packet. The packet header is followed by d e show information package (SIP) header. There is a show information package header for each show information package in the packet. The SLP header contains: guide number 305 which is the internal channel number of die data in d e show information package; source ID 306 used to determine d e source of the data in die show information package; and time slot 307 used to designate d e time and day of the data in the show information package. A show information package 308 follows die SLP header. Upon receipt, the system microprocessor extracts a show information package from the download packet and temporarily stores it in program schedule memory. The show information package contains a date field that is used to determine if die data is for d e current day(today) or die next day(tomorrow). If die package falls witiiin this two day window die system determines if the data is duplicative of existing data. The show information package contains a version number used to determine if d e data is new or if it already exists in memory. If die data is new then it is stored and the address of d e show information package is placed in d e appropriate pointer in die pre-established time list. The pre-established time list will be explained more fully below. If d e show information package is outside of the current two-day window (today and tomorrow)and die show information package contains programs that have tiieme information, those programs with tiieme information are pulled out of die show information package and placed in d e appropriate extended theme show list. The extended tiieme show list is described more fully below. If the show information package is outside of die current two-day window and does not contain theme information, or if die show information package is duplicative of one that is already stored the entire show information package is discarded. The system uses a memory bit map in order to keep track of which parts of the program schedule memory are currently holding program data and which parts of the program schedule memory are free to store new program data. The memory bit map divides d e memory into 32 byte blocks. Each block is represented by a bit in the memory bit map. The memory bit map is depicted in FIG. 24. Each bit in d e map 310 represents a 32 byte block of memory. A "1" in d e bit position 311 indicates that program data is stored in tiiat block. A "0" in the position 312 indicates that die block is free. When new data arrives in the system, microprocessor 24 searches tiirough die memory bit map to locate a sufficient number of adjacent free positions in which to store data. When die positions are located, microprocessor 24 stores the data and then changes those numbers in die memory bit map from "0" to "1" to indicate tiiat tiiose memory locations are occupied. For example, referencing FIG. 24, if data is received tiiat requires ten blocks of storage die system will scan d e memory map and store the data in die space represented by bits 0-7 in row 3 and bits 0-1 in row 4. These bits will tiien be set to " 1 " in the memory bit map. The system will also periodically re-order the memory so tiiat free space is grouped contiguously. For example, referencing FIG. 24, die data starting in the block represented by bit 2 in row 0 and ending in the block represented by bit 1 in row 1 would be slid over to the block represented by bit 3 in row 0. This will remove d e "0" gap in row zero. This process is repeated throughout the memory map so mat all free space is grouped together at die end of memory. The system also contains procedures for reducing the amount of new data that is stored if there is only limited memory space available. By scanning the memory map the system can determine if die memory is becoming full. When tiiis happens the system may discard some new data such as program descriptions in order to maximize the number of individual shows that can be stored in the available memory. Data Structures Data in d e program schedule memory is stored in data structures that enable the system to interpret the data. Several of die data structures are of fixed length and reside in the static area 300. These data structures reside at fixed addresses and therefore can be accessed by the microprocessor without further memory calculations. Other data structures are of variable length and reside in d e dynamic area 301. The fixed data structures include: d e pre-established time list, the channel map, die control array, the call letter map, d e memory map, die source map and die record queue. The variable data structures include: show information packages and extended theme show lists. The pre-established time list is used to locate television program information for each channel in the system. The pre-established time list only references program information mat will be broadcast on die current day (today) or on the next day (tomorrow). The pre-established time list references data through the use of pointers which are pieces of data that contain addresses of desired data items in dynamic area 301. FIG. 25 illustrates d e pre-established time list. The pre-established time list contains a set of twelve pointers 313 for each channel in die system. Each pointer corresponds to a show information package mat contains data for a four hour block of television programming. For example, in FIG. 25, d e pointer El corresponds to program data on channel 1 from four p.m. to eight p.m. Twelve pointers represent the sum of 24 hours of programming information for the current day and 24 hours of program information for die next day. Pointers A2 through L2 are used to represent d e program data associated with channel 2 in d e system. Each pointer contains an address of a show information package of variable length containing actual television program data. When specific data is needed, the system first looks in die pre-established time list to secure the pointer, then uses die address found in that location to determine where the data is actually stored. For example if data for die channel 2 in die system is needed for a television program between eight p.m. and twelve midnight the system will use die address in pointer F2 to determine d e location of die show information package containing die data. Show information packages are variable length data structures that contain actual television program schedule data. Each show information package contains data for a four hour block of television programming for a specific channel. The show information package length is variable because die number of shows in each four hour block will depend on the duration of die individual shows. FIG. 26 depicts a show information package. A show information package contains the following: amount of memory - used to determine how much space was used to store the show information package and tiierefore, how much space is freed up after the show information package is no longer needed; control date - used to determine whether d e data in a specific show information package is for d e current day, the next day, or outside of die current two-day window; and version number used to specify the specific version of die program data. Following -these three fields is specific data for each show that fits witiiin die four- hour time block. For a given show, represented by block 314, the following fields are present in the show information package: multiple show flag field - used to determine if this show is die last show within the package, or if there are other shows following to be processed; start time field - an offset from d e start time of die four-hour block, this offset is added to die time of die four-hour block to determine die start time of die show; duration field - specifies the air time for the particular show, this field is used if d e show is selected for recording to determine die length of die recording; theme field - contains information on the type of show; for example, d e show may be a sporting event, a news program, or a movie; CC field - determines whether or not the show is closed captioned; stereo field - determines wheti er or not the show is broadcast in stereo; add- ons field - is a field left for expansion, this field will contain more information about the show as that information becomes standard in die art. Following these fields are fields representing program title, primary description - a short description of the program, secondary description - a longer description of die program and VCR+ PLUSCODE. Each of tiiese items are represented by two fields, one containing die length of a specific item, such as title lengtii, and one contaming d e item itself, such as title. Following this information is an end-of-show field. The end-of-show field is used to indicate tiiat the information for tiiat particular show is finished. A show information package may contain information for one or more shows depending on how many shows are broadcast within die four hour block. The presence of multiple shows is represented by 315 and 316. A show information package is structured so as to provide several unique features for storing data. The title length, primary description length, secondary description length and VCR+ PLUSCODE length fields can be expanded for values mat are beyond d e maximum value that can be stored witiiin one byte. For example, referring to FIG. 27, if the secondary description length equals a number greater than the maximum number that can be stored witiiin one byte, the lengtii byte is set to this maximum value. The system men assumes that d e following byte also represents length and adds die two values to determine die total length of the secondary description. In this way, a show information package can dynamically allocate space to accommodate longer descriptions or longer titles. The end-of-show field allows for die inclusion of data in die show information package that is not read by die current version of d e system. As shown again in FIG. 27, following the VCR+ PLUSCODE field, there are two fields of unspecified data. This is data which may be read by future versions of die system but is currently not processed. When processing show information package data d e system expect an end-of- show field following the VCR+ PLUSCODE field. If an end-of show field is not found the system will discard die data and look at d e next byte. The system will not begin processing data for a new show until an end-of-show field is found. This feature allows d e system to access the same data as a potential future version which may process data beyond title, description and VCR+ PLUSCODE. For example a future version might also include a list of d e actors in a particular show. This information would be added to the download data after the VCR+ PLUSCODE. Older versions which did not include the feature of displaying die new data would discard it without causing an error in die download process. Television programming information for shows that contain a theme (movie, sporting event, etc.) but have a start time beyond d e current two day window (i.e. shows that will air after tomorrow) are stored in an extended theme show list. An extended theme show list is a linked list of television shows. Each show in d e list contains data for a single program. The system contains an extended theme show list for each of the different tiieme categories (sports, movies, children's programming, specials, info). An extended theme show list is depicted in FIG. 28. The address 317 of die first show in the list 318 is stored in static area 300. Show 318 is stored in dynamic area 301 and contains a pointer 319 to ti e next show tiiat will play. This scheme is repeated for all shows in the list. The pointer field in the last show contains d e value "NULL" to indicate tiiat there are no other shows in the list. Because each show in the list is linked to d e next show, an entire list can be traversed by ascertaining d e address of the first show in die list. Each show contains d e same field format as show information package 314 with die exception that the channel ID is stored for each show. The conventions applying to show information package 314 at allow for extending die lengti fields and for additional data before d e end-of-show flag also apply in d e extended tiieme show list. The program schedule memory also contains a channel map located in static memory 300. The channel map links the channel number of television program information with the internal guide channel. For example, in FIG. 29, channel 7 is assigned to internal channel 1 and channel 11 is assigned to internal channel 3. The channel map is referenced in order to identify a channel number when creating a program guide display. The source channel number is also used to tune to a specific channel upon operator selection. The program schedule memory also contains a preallocated control array located in static memory 300. The control array is used by the system to track channels which have been inhibited for display by d e operator. The control array is depicted in FIG. 30. For each channel, there is a display field 320 which is set to d e "1" if die channel is to be displayed and set to die "0" if die channel is to be inhibited. Referring to FIG. 30, channels 0, 1, 3, and 4 will be displayed in a program guide while channel 2 will be inhibited. There is also a field for each channel for additional "add-on" information. This field allows for d e addition of otiier operator controlled functions in future versions of the system such as a parental lock-out facility. The program schedule memory also contains a call letter map located in static memory 300. The call letter map links the call letters corresponding to die source channel with die internal guide channel. For example, in FIG. 31, d e call letters KABC are linked to internal channel 0 and WWOR is linked to internal channel 1. The call letter map is referenced in order to identify source channel call letters when creating a program guide display. The program schedule memory also contains a source map located in static memory 300. The source map links die particular source of a television station with the internal guide number. Several stations may have d e same source. For example die source "Home Box Office" may be associated with HBO, HBO2, HBO3, etc.. In an alternative embodiment d e system could be configured to reorder program guide channels based on die source information. For example, die system could be directed to place all channels coming from d e source "Home Box Office" at the beginning of a program guide. Operator requests for recording future programs are stored in d e record queue. The record queue is a fixed length table (20 entries) located in static area 300. The record queue is depicted in FIG. 32. Each show in the queue contains a value representing d e channel that the show will air on and a value representing the start time of the show. The record queue is structured so that programs are in time sequence order. That is, the first item in die list will be broadcast earlier than any of the other items, and so on. This allows d e system to easily find the next program to be recorded. Data Base Processing Interaction between the data structures and the system is illustrated through d e following examples of system operation. A. The operator, using viewer input device 28 requests a time specific program guide (TISPG), die current time is 7 p.m. When die user requests a TISPG for information pertaining to television shows mat are currently being broadcast, d e system first reads the current time (7 p.m.) from the microprocessor clock. The system then determines the pointers that correspond to current time in the pre-established time list, FIG. 25. Since the current time is 7 p.m. the system will look to the fifth pointer (this pointer corresponds to d e data from 4 p.m. to 8 p.m.) for each channel: Channel 1 - El, Channel 2 - E2, Channel 3 - E3, . . ., Channel n - En. For each pointer the system accesses the associated show information package, FIG. 26. The system adds die start time of the four hour block (4 p.m.) to the time offset in each show in the show information package to determine the show at is currently airing on that channel. Information for die show is then extracted from the show information package. The extracted information includes title, primary description, secondary description and VCR+ PLUSCODE. Each internal channel number is also used to index into the channel map, FIG. 29. Specifically, the channel number is used to pull out die specific source channel number for display in die guide: Channel 1 - 7, Channel 2 - 6, Channel 3 - 11, . . . , Channel n - 172. The channel number is also used to index into die call letter map, FIG. 31. Specifically, the channel number is used to pull out die station identification call letters for display in the guide: Channel 1 - KABC, Channel 2 - WWOR, . . . , Channel n - KTVR. All of d e information from the show information package, d e channel map and e call letter map is used to create formatted text lines for display in the guide. B. The operator, using viewer input device 28 requests a channel specific program guide (CSPG), d e current channel being viewed is channel 6, die current time is 3 p.m. When the user requests a CSPG for information pertaining to television shows mat are airing or will be broadcast on a specific channel (channel 6) at a specific time (3 p.m.) the system determines d e internal channel corresponding to the displayed channel by reading a system variable. For this example die internal channel is channel 2. The system then reads the current time (3 p.m.) from d e microprocessor clock. The system determines the pointer tiiat corresponds to current time for the selected internal channel in die pre- established time list, FIG. 25. Since the current time is 3 p.m. and d e selected internal channel is channel 2 e system will look to die forth pointer (tiiis pointer corresponds to the data from 12 noon to 4 p.m.) in the second set of pointers. This pointer is D2, FIG. 25. The system then accesses d e associated show information package, FIG. 26, for pointer D2. The system adds the start time of die four hour block (12 noon) to the time offset in each show in die show information package to determine die show that is currently airing. Information for the show is then extracted from die show information package. The extracted information includes title, primary description, secondary description and VCR+ PLUSCODE. The system extracts data for all shows in die show information package pointed to by D2 that occur after the selected show. Information is men extracted for all shows in show information packages pointed to by pointers E2 - L2. The internal channel number is also used to index into the channel map, FIG. 29. Specifically, the channel number is used to pull out die specific channel ID, channel 6, for display in the guide. The channel number is also used to index into the call letter map, FIG. 31. Specifically, the channel number is used to pull out die station identification call letters, WWOR, for display in the guide. All of die information from die show information package, the channel map and die call letter map is used to create formatted text lines for display in the guide. C. The operator, using viewer input device 28 requests a theme specific program guide (THSPG),the selected theme is "MOVIE", die current time is 10:30 a.m. When die user requests a THSPG for information pertaining to television shows having a specific theme (MOVIE) that are airing or will be broadcast, the system first reads d e current time (10:30 a.m.) from the microprocessor clock. The system then determines the pointers that correspond to current time in d e pre-established time list, FIG. 25. Since die current time is 10:30 a.m. the system will look to the third pointer (this pointer corresponds to d e data from 8 a.m. to 12 noon) for each channel: Channel 1 - Cl, Channel 2 - C2, Channel 3 - C3, . . ., Channel n - Cn. For each pointer the system accesses the associated show information package, FIG. 26. The system adds d e start time of die four hour block (8 a.m.) to die time offset in each show in the show information package to determine the show that is currently airing on that channel. Once die show is determined the system compares theme information for that show with the selected theme, "MOVIE". If die show is a movie, information for die show is extracted from the show information package. The extracted information includes title, primary description, secondary description and VCR+ PLUSCODE. The system then increments d e current time by five minutes (10:35) and repeats the above process. The clock is incremented again by five minutes and the process is repeated until d e clock time is at the end of d e four hour block, i.e. 12 noon. The system then access all remaining pointers, Dl - Dn, El - En, . . ., Ll - Ln, and extracts information for all shows that contain the theme "MOVIE". Once data has been extracted for all shows occurring witiiin the two day window (today and tomorrow) at contain the theme "MOVIE" the system begins extracting data from the "MOVIE" extended theme show list, FIG. 28. The system has the address of the first entry in die "MOVLE" extended theme show list since it is stored in static area 300. Data for all shows in the "MOVLE" extended tiieme show list is extracted. In an alternate embodiment of d e system, d e system user would have d e capability to block certain channels. Blocking a channel would inhibit d e channel from being displayed on the system, therefore the channel would not be part of the TISPG, CSPG, or TΗSPG. This feature is implemented through the use of die control array, FIG. 30. When the user selects a channel for non-display, the display flag in the control array is set to "0". Whenever me system user requests a program guide display, die system first checks d e control array before proceeding with processing on the pre-established time list. If the control array for a specific channel is set to "0", no other processing is performed for tiiat channel and die system goes on with the next channel. If the user were to re-select that channel for display in subsequent processing, the system would enact the change die next time a program guide was created. The control array may also be used to inhibit ti e storing of data for selected channels. For example, in an alternative embodiment of the system, die system would first check the control array before storing data for a specific channel. If the control array for a specific channel contained a "0" no data corresponding to that channel would be stored. Note that a channel may be inhibited for display as described above without necessarily inhibiting the storage of data. In another alternative embodiment the user would have die option of toggling between the TISPG and the CSPG as in FIG. 19. Toggling between these displays would allow the user to create a guide of all program information for a future, user selected, time. The database processing associated with this option is similar to that used for the TISPG and CSPG with the exception mat die time used to locate each program is the user specified time in the CSPG in lieu of the current time and die channel would be tiiat specified in d e TISPG. Recording When die user selects a program for recording die system stores the internal channel number of the selected program and die program start time in die record queue, FIG. 32. The program start time is computed by adding d e offset contained in d e show information package to die start time of the associated four hour block of data. The record queue is put in time order whenever a new entry is added. This ordering facilitates periodic polling of the start time in the first show of the queue to determine d e next recording command to be executed. The address of die queue is known to die system as it is in static area 300. When a show is recorded the next show in the queue is moved to d e beginning of d e queue. When the operator requests a display of the record queue die system reads d e internal channel number and start time for the first entry in the record queue. This data is used to locate die pointer to the corresponding SIP package in the pre-established time list (FIG. 25). The pointer is used to extract the title of d e show. The internal channel number is also used to extract die source channel number and call letters corresponding to the show. The system then uses tiiis information to create a line of text representative of the show to be recorded. This process is repeated for each show in the record queue. The described embodiments of the invention are only considered to be preferred and illustrative of the inventive concept; the scope of die invention is not to be restricted to such embodiment. Various and numerous other arrangements may be devised by one skilled in d e art without departing from the spirit and scope of tiiis invention. For example, the disclosed electronic guide features, including die techniques for navigating through d e guide, can be used without displaying a real time image of a current television program.

Claims: WHAT IS CLAIMED IS: 1. An entertainment system comprising: a television display having a screen; a source of a plurality of video programs; a memory in which textual descriptions of die video programs are stored; means for displaying a list of textual descriptions from the memory on a first portion of the screen; a control device for selecting a textual description from the list on the screen; and means for displaying on a second portion of the screen die video program mat matches the selected textual description. 2. The entertainment system of claim 1 , in which the source is a television tuner and the video programs are broadcast television programs. 3. The entertainment system of claim 2, in which die source is a video storage device and the video programs are video clips stored on the storage device. 4. The entertainment system of claim 2, in which die video storage device is a video disk. 5. The entertainment system of claim 1, in which the textual descriptions are a list of program schedule items that include program titles. 6. The entertainment system of claim 5, in which the textual descriptions additionally include channels. 7. The entertainment system of claim 6, in which die textual descriptions additionally include times. 8. The entertainment system of claim 5, in which the textual descriptions additionally include times. 9. The entertainment system of claim 2, additionally comprising means for displaying a synopsis of die selected program on a third portion of the screen. 10. The entertainment system of claim 9, additionally comprising means for displaying another synopsis of the selected program on d e first portion of the screen instead of d e list of textual descriptions 11. The entertainment system of claim 1, in which the means for displaying on a second portion of d e screen d e video program that matches the selected textual description is a picture-in-picture chip. 12. The entertainment system of claim 1, in which the means for displaying on a second portion of the screen the video program at matches the selected textual description comprises means for creating a split screen display. 13. The entertainment system of claim 1, in which the means for displaying a list of textual descriptions from the memory on a first portion of the screen displays a time specific program guide for the current time. 14. An entertainment system comprising: a television display having a screen; a television tuner for recovering currently broadcast video programs; a memory in which textual descriptions of future broadcast video programs are stored; means for displaying part of the textual descriptions from the memory on a first portion of the screen; a control device for selecting the displayed part of d e textual descriptions; and means for displaying on a second portion of die screen a currently broadcast video program. 15. The entertainment system of claim 14, in which the means for displaying part of d e textual descriptions from the memory on a first portion of die screen displays descriptions of programs broadcast on a single channel. 16. The entertainment system of claim 14, in which die means for displaying part of the textual descriptions from the memory on a first portion of the screen displays descriptions of programs broadcast at a single time. 17. The entertainment system of claim 14, in which the means for displaying part of d e textual descriptions from the memory on a first portion of die screen displays descriptions of programs having a single theme. 18. The entertainment system of claim 14, additionally comprising means for selecting one of the displayed textual descriptions, d e memory also storing textual descriptions of currently broadcast video programs, the means for displaying part of die textual descriptions from the memory on a first portion of the screen displaying currently broadcast video programs or future video programs depending on die part selected by d e control device, and the means for displaying on a second portion of d e screen a current broadcast video program displaying a program that matches the selected textual description when the displayed part comprises currently broadcast video program.

Inventors: KWOH DANIEL S, LEUNG ELSIE Y, MANKOVITZ ROY J, YUEN HENRY C, KWOH, DANIEL, S., LEUNG, ELSIE, Y., MANKOVITZ, ROY, J., YUEN, HENRY, C.
Applicants: KWOH DANIEL S, LEUNG ELSIE Y, MANKOVITZ ROY J, YUEN HENRY C, KWOH, DANIEL, S., LEUNG, ELSIE, Y., MANKOVITZ, ROY, J., YUEN, HENRY, C.
Application year: 1995
Main classification: H04N5
IPC codes: H04N5, H04N7