CA2548637C - Improved electronic television program schedule guide system and method - Google Patents

Improved electronic television program schedule guide system and method Download PDF

Info

Publication number
CA2548637C
CA2548637C CA002548637A CA2548637A CA2548637C CA 2548637 C CA2548637 C CA 2548637C CA 002548637 A CA002548637 A CA 002548637A CA 2548637 A CA2548637 A CA 2548637A CA 2548637 C CA2548637 C CA 2548637C
Authority
CA
Canada
Prior art keywords
ability
schedule information
user
restricting
program schedule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA002548637A
Other languages
French (fr)
Other versions
CA2548637A1 (en
Inventor
Jerry Alten
Bruce Davis
Michael Morris
Roger Youman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adeia Guides Inc
Original Assignee
United Video Properties Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by United Video Properties Inc filed Critical United Video Properties Inc
Priority to CA2662685A priority Critical patent/CA2662685C/en
Priority to CA2662691A priority patent/CA2662691C/en
Priority to CA2662689A priority patent/CA2662689C/en
Priority claimed from CA002363052A external-priority patent/CA2363052C/en
Publication of CA2548637A1 publication Critical patent/CA2548637A1/en
Application granted granted Critical
Publication of CA2548637C publication Critical patent/CA2548637C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47211End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting pay-per-view content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4821End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time

Abstract

An electronic program schedule system which includes a receiver for receiving broadcast, satellite or cablecast television programs for a plurality of television channels and a tuner for tuning a television receiver to a selected one of the plurality of channels. A data processor receives and stores in a memory television program schedule information for a plurality of television programs to appear on the plurality of television channels. A user control apparatus such as a remote controller, is utilized by a viewer to choose user control commands and transit signals in response to the data processor which receives the signals in response to user control commands. A television receiver is used to display the television programs and television program schedule information. A video display generator receives video control commands from the data processor and program schedule information from the memory and displays a portion of the program schedule information in overlaying relationship with a television program appearing on a television channel in at least one mode of operation of the television programming guide. The data processor controls the video display generator with video control commands, issued in response to the user control commands, to display program schedule information for any chosen one of the plurality of television programs in overlaying relationship with at least one television program then appearing on any chosen one of the plurality of channels on the television receiver.

Description

i3Q"ROVFD P1ZC;LxOMC 7ELEVISK')Pt rROGRAM SQEDl1l.E CRJmE SYSCE!! AM -OETN00 Background of the Inve;Ytion This invention relates to an electronic proqran schedule = sy$tem, which provides a user with schedule information for broadcast or cablecast programs viewed by the user on a television receiver. More particularly, it relates to an improved electronic program guide that _provides the user with a more powerful and convenient operating environment, while, at the same time, increasing the efficiency of navigation by the user through the guide.
Electronic program guides for television systems are known in the art. For example, one prior system used an electronic c44racter generator to display textual schedulF
information on the full screen of a television receiver. Other prior systems presented electronically stored program schedule information to=a user for viewing while allowing the user to select display formats. Still other systems employed a data processor to input user-selection criteria, then stored only the program schedule information meeting these criteria, and subsequently used the stored information to automatically tuno a prograrsmable tuner or activate a recording dev~ce at the time of broadcast of the selected television progrars. Such prior systens are generally discussed in "Stay Tuned for Smart TV," published in the November 1990 issue of Popular Science.
Collectively, the prior electronic program syPteas may be difficult to implement and cumbersome to use. They also fail to provide viewing capabilities that address in a mu:e realistic mar.ner the viewing habits of the users of these electronic program sjstems_ Horeover, many of these systems are complex in their design and are expensive to implement. Ease of use and economy 3o are primary concerns of television program distributors and viewers as they contemp:,ate dramatic increases in the number and nature of proqram networks and other television-based services.
ar:d, as the number of television channels availab].e to a user increases dramatically with the advent of new satellite and cable-
2 based technologies, the utility of these prior systems substantially diminishes.
These prior-art systems also fail to provide the user with sufficient information, for example pricing and the like, 5 about pay-per-view events, premium services or other packaged programming to tthich the user does not subscribe, nor do thel provide the user with the capability to automatically purchase such programming on demand or impulse. Moreover, these prior-art systems are deficient in that they fail to provide an cfficient and automatic method of updating or replacing the application software prcgrams that implement the electronic guide at the user sites, relying instead on manual or other cumbersome forms of revision or replacement or hardware-based systems that can not bi updated without physical replacement of integrated circuits and;or other parts.
Nor do these prior electronic quide systems have the capability of linki:.g the user to other applications or information systems which are not part of the electronic prcgram guide application or data. 20 Nor do these prior electronic guide systems provide video promotion of television programs and servicea that are functionally linked and visually displayed in an integrated fashion. Program promotion is an important element of the effective marketing of television programming. The promotion of pay-per-view pay (i.e., "a la carte") progrars and other unregulated program services is particularly important to cable television operators in the wake of re-regulation by the federal government. The current method of promoting such p:ogramcing using video is through dedicated "barker" channels that use full screen continuous trailers (i.e., previews) which may or may not be accompanied by prices and orderiiig information. Recently, such promotional videos have been shown in split screens w;:~re part of the screen shows general schedule information for a tiie period roughly corresponding to the time period during which the general program being promoted is shown. Acccrdingly, there exists a need
3 for an elactronic program guide which can provide improved display and linking of video promotions with program schedule information and order processing functions.
= The prior electronic program guides also fail to provide tiie user with a simple and efficient method of controlling access to individual channels and individual programs. The amount of adult situations involving sex and violence has steadily increased during the last 40 years. The issue of Low this affects children or other viewers has gained national attention. Providing a parent with the ability to lock-out a channel is a well known aad widespread feature of certair. television receivers and cable converter boxes.' Despite this availability, the feature is seldcm used by parents. The main impediments to its effective use are the cumbersome ways in which it is generally implemented, as weT?
as the requirement that eittire channels be blocked in order t.o block access to any objectional programzoing. A channel-oriented parental lock is unfair to other progzammers on the blocked channel -- who, for example, offer adult-oriented programmI*+g =n the evening and youth-oriented programming the following morning-and inconvenient for viewers who want access to such progra-m-s_ Thus, there is a particular need for a system which provides password control to individual progralT,:, and channels usir.c a flexible and uncomplicated on-.creen user interface.
The prior electronic program guides are also deficic3t in that they do not provide the user with the ability to vieu on demand current bill::ng status and, thus, a need exists for a system which can provide the user with current billing infr,~ :a:;on on the user's demand.
An additional problem with prior program guides is that when displaying schedule information in grid format, i.e., col=ns representing time slots and rows representing channels, pro,.=am titles generally are width-wise truncated to fit into the cells of the grid. The width of a grid cell varies with the duratiorm of the program. Since a 30 minute program is allotted only a saall amount of space for the program title and description, titles
4 and/or descriptions for half and even full hour programs often must be truncated in order to fit into the allotted space. Some systes.s s'nply cut off the description of a program without abbraviating it in any day, such that the user is unable to 5 determine the subject matter of the program. For example, a recent television pxogram display included the following text in a grid cell: "Baseball: Yankees v." Although some syste~
partially alleviate this problem by providing two lines of text i,-1 each grid cell, this solution is not ideal because progrrsa descriptions may still be truncated.
A similar problem arises as the time slots change, either automatically or in response to a user control comnand.
Typically, 90 minutes of schedule informatien is displayed at one ti.me and the 90 minute window is shiftable in 30-minute increments. In the case where a 30 minute shift catises a 30 ninute size grid cell to display, e.g., a two-hour movie, it is likely that the full title of the movie will not fit into the cell. Truncation of the title is thus required in this situation as well. In this case, while two lines of text-;nay be desirable to fit the title in the 3C minute cell, the 60 and 90 minute cells may require only one line of text to display the title.
The prior electronic program guides also lack a nethcd for creating a viewing itinerary electronically while still viewing a program currently appearing on the television receiver.
Moreover, these prior program guides leave much guess work for the user as he navigates through a sequence of channels. When skimming througiz channels to aFcertain the program then beir.q displayed on any channel, commcniy known as "channel surfing," the sser needs to guess which program is currently being aired frcm the video encountered as tha user surfs through the channels.
Since much -- in some cases, up to 30% -- of the progrz*ming appearing on any given channel at any given time is advertising or other commercial programming, the user is not orovided with any clues as to what program is appearing on a selected channel at a given time and must therefore wait until the advertisement -ir commerrial is over before ascertaining the program then appearing on the selected channel. Thus a need exists for a program guide which displays curr4nt program schedule information for each channel as the user surfs through the available channels.
5 Accordingly, there is a need in the art for a simplified electronic program schedule system that may be more easily implRmented, and which is appealing and efficient in operation.
There is also.a need to provide the user with an electronic program schec:sle system that displays bot', broadcast programs and electronic schedule information ir, a manner not previously available with other electronic program schedule systems, particularly those using a remote controller.
For example, there is a particular need for a flexible progran, schedule system that allows a user to view selected broadcast programs on a portion of the screen of the television receiver while simultaneously viewing program schedule information far other channels and/or services on another portion of the screen. There is also a need for such a program schedule system that_permits the user to select from a plurality of selectable display formats for viewing the program schedule information. It is also preferred to have a system that indicates to the user those keys on the remote ccntroller that are active in ar.y particular mode of operation. There also exists a need for such a system that will give a user tha capability to set a programmable reminder for viewing a program scheduled to air at a future time.
There is also a need for an electronic guide system providing the user with comprehens:.ve information about pay-per-view events, premium services cr other packaged programming to .30 which the user does not ordinarily subscribe, and which provides the user with tt_e capability to automatically purchase such programming on demand or impulse. There is also a need for an electronic guid4 system providing a reliable and efficient method of updating or replacing the application software that in.plements the electronic guide at the user sites.
6 There a]so exists a need for an electronic program guide that opez-ates as a shell or window to provide the user witb tha capability to access other applications or information systems that are not part of the electronic program guide application or 5 data.

It is accordingly an object of the present invention to provide a system that will allow the user to view a broadcast proqram while, at the same time, interactively viewing program schedule information for other programs.
It is another object of the present invention. to provide the user with the ability to select from among a plurality of display formats for the program schsdule information.
It is yet another object of the present invention ta .ndicate to the user of the program schedule system those keys on the reaote controller active in the particular mode of operation of the system at the time of use.
It is a still further object of the present invention to provide the user of the electronic program sches..'sile system with the capability of setting programmable remir.der msssages for any future program.
It is yet a further object of this invention to provide =the system user with comprehensive information about pay-per-view events, premium services or other packaged prograaming to which the user does not subscribe and the capability to automatically purchase such programming on demand or impulse.
It is another object of the present inven*_ion to provide an electronic guide system that provides a reliable and efficient method of updating or replacing the application software programs that implement the electronic guide at the user sites.
It is still another object of the electronic program guide to operate as a shell or window to provide the user with the capability to access other applications or information systems which are not part of the electronic program.guide application or data.
7 It is yet another object of the electronic program guide.
to provide a system whereby video promotion of television programs and services are functionally linked and visually displayed in an intngrated fashion to facilitate the narketing and sale of such programs ard services.
It is still a further object of the present invention to provide password control for access to individual programs, as well as channels, using a protected interactive flexible and uncomplicated on-screen interface.
Anbther object of the present inventior, is to provide the user with current programm9.ng information for all programs as the user surfs through the available channels.
It is yet a further object of the present invention to provide a system in which the user can access his current billing information on demand.
It is zsnother object of the present invention to provide a system which overlays television program listings against varying backgrou-nd views. -it is yet another object of the present invention to provide an improved display of text in the grid cells comprising a page of television program listings.
These and other objects of the invention are achieved by an electronic program schedule system which includes a receiver or rPceiving broadcast, satellite or cablecast television programs for a plurality of television channels and a tuner for tuning a television receiver to a selected one of the plurality of channels. A data processor receives and stor-es in a memory television program schedule information for a plurality of television programs to appear on the plurality Df television channels. A user control apparatus, such as a remote controller, is utilized by a viewei' to choose user control commands and transmit signals in response to the data processor which receives the signals in response to user control commands. A television receiver is used to display the television prc3rams and television program schedule and other information. A video display generator
8 raceivns video control commands from the data processor and program schedule information from the memory and displays a pcrtion of the program schedule information in overlaying relationship with a television program appearing on a television channel in at least one mode of operation of the television programming guide. The data processor controls the video display generator with video control commands, issued in renponse to the user cqntrol commands, tc display program schedule information for any chosen one of the plurality of television programs in overlaying relationship with at least one television program then appearing on any chesEn one of the plurality of channels on the television receiver_ Brief Descritition of the Dpawi s Fig. 1 is a block diagram showing various components of the preferred embodiment of the invention herein.
Fig. 2 is a block diagram showi.ng the combination of program and schzd.i3e informaticn by the video overlay device utilized in the preferred embodiment of the invention.
Fig. 3 depicts a remote controller that can be used in connection with the preferred embodiment of the electronic program guide system of the present application.
Fig. 4 depicts an alternative embodiment of the remote controller shown in Fig. 3.
Fig. 5 shows an overlay appearing on a television screen in one mode of operation of the preferred embodiment of the present invention.
Fig. 6 is a menu that appears on a television screen in a?+iENU mode of operation of the preferred embodiment of the present invention.
Fig. 6A is yet another menu that appears on a television screen in a MENU mode of operation cf the preferred embodiment of the present invention.
9 Fig. 7 depicts a Viewer Preference Menu that appears on a television screen in one nspect of the preferred embodiment of the present invention.
Fig. 8 shows a Preferred Channel selection submenu.
Fig. 9 shows an impulse crdering menu that appears on a television screer. in one aspect of the preferred embodiment of the present invention.
Fig. 10 shows a Premium Services submenu that appears in one mode of operation of the preferred embodiment of thL present invention. -Fig. 11 shows a graphic overlay appearing on a television screen in a BROWSE mode of operation of the preferred embodiment of the present invantion.
Fig. 12 shows a graphic overlay appearing on a television screen in a BROWSE mode of operation of the preferred embodiment of the present inventicn having different information from that shown in Fig. 11.
Fig. 12A shows a graphic overlay appearing on a television screen in a BROWSE mode of operation in the present invention displaying schedule information for a time and channel cther than that shown in Fig. 11.
Fig. 13 shows a graphic overlay appearing in a REMIPiDER
mode of operation of the preferred embodiment of the present inc=anti on .
Fig. 14 sbows yet rnother graphic overlay appearing in a REMINDER mode of operation of the preferred embodiment of the bresent invention.
Fig. 15 is yet another menu tl_3t appears on a television screen in a MENU mode of cperat2on of the preferred embodiment of the present invention.
Fig. 16 is yet another menu that appears on a television screen in a MENU mode of operation of the preferred embodiment of the present invention.

Fig. 17 is yet another menu that appears on a television screen in a I+lFNU mc32 of operation of t2:e preferred embodiment of the present invention.
Fig. 18 shcvs a grid listing of schedule information 5 displayed in an All Listings mode of operation of the preferred embodiment of the present invention_ Fig. 19 shows schedule infors.ation displayed in a Listings By Category mode of operation of the preferreci embodiment of the prese.^.t invention.
10 Fig. 20 shows sc..~edule inforzation displayed in a Listings By Channel zrodz of operation of the preferred embodiment of the present invention.
Fig. 21 shows information displayed ir. response to a user's request fo- supplemental programming informat:on.
Fig. 22 shows Frogramaing, ordering and video promotienal inf-rmation displryed in a Pay-Per-View mode of operation of the preferred embodiment of the present iniention.
Tig. 23 shows an ordering submenu used in conjunction with che mode of operation shown in Fig. 22..-Fig. 24 shows yet another ordering submenu used in conjuncL;on with the mode of operation shown in Fig. 22.
FicT. 24A shows yet another ordering submenu used in conjunction vi;.h the mode cf operation shown in Fig. 22.
Fig. 25 shows another grid listing of schedule information diLzlsyed in an All Listings mode of operation of the present invention.
Fig. 26 shows a Premium Services subWenu that appears in one mode of operation of the preferred embodiment of the prezent invention.
Fig. 27 shows a Messages menu that appears in one mode of operation of the preferred embodiment of the present invention.
Fig. 28 shows exemplary messages used :n connection with the menu of Fig. 27.
Fig. 28A is an alternative message menu.
11 Fig. 29 shows billir.g information used in connection with the menu of Fig. 27.
Fig. 30 shows a Xey Lock Access menu that appears during one mode of operation of the preferred embodiment of the present invention.
Fig. 31 shows a menu appearing in connection with an Interactive Television mode of operation of the preferred embodiment of the present invention.
Fig. 32 shows information that appears in a Quote Watch menu in connection with the Interact?ve Television mode of operation shcwn in Fig. 3;.
Fig. 31 shows other inforaation t:^_at appears in connection with the Interactive Television mode of operation shown-in Fig. 31.
Fig. 34 is a menu showing information that appears in a news di5play in the Interactive TelL ision mode of operation of the preferred embodiment of the present inventior..
Fig. 35 is a menu showing information that appears in a sports display in the Interactive Telev-ision mode of cperation of the preferred embodiment of the present invention.
Fig. 36 is a flow cYiart showing the onera=ion logic required for implementation of a computer progrrm for the elcctronic program guide.
Fig. 37 is a menu showing a Locator screen for locating channel numbers and defining favorite channel lists.
Fig. 38 is ar, alternative menu that can Le used in a 2E2=rU mode of operation of the electronic program guide.
Fig. 38A and 38B show, respectively, an alternative main menu screen and a listir.g-by-time screen accessible from the alternative main menu.
Fia. 39 is a Lockout menu that alternatively can be used for permitting or prohibiting access to certain F:ogra-=s.
Fig. 40 is a Setup menu that can be used to set text location and a purchase code for premium and pay-per-view programming.
12 Fig. 40A shows an exemplary menu for inputting a lockout code.
Figs. 40B through 40E show, respectively, exemplary menus for entering, confirming, clearing or changing a purchase code.
Fig. 41 is a Lockout Verify rienu that is used in connection with the Lockout menu of Fig. 39.
Fig. 42 is a flow chart showing the operation of the preferred embodiment of the text fit system of the inventioin herein.
DETAILI:D DESCRIPTION OF THE PREFERRED E?'BODj%.IENT
Evstem ConfiQUration Fig. 1 is a block diagram showing various componznts of the electronic program schedule system generally designated as 10.
Physically, these system components can be located in a user's set-top cable converter box or other signal reception or processing -!evice, such as a satellite receiver. Altarnatively, the components can be mounted in a separate housing, or included as part of a televisicn receiver, VCR, personal computer, or multimedia player; or reside as a distributed application in a broadband network arcnitecture.
An input signal 11 is connected to a receiver 12, which receives a transmitted data stream from a data prcvider. The data stream may contain, for example, informatIon about programs or services available in a particular market, geographical or otherwise. The input signal 11 can originate, for example, as part of a standard broadcast, cablecast or satellite transmission, or other form of data transmission. The data provider is a program information provider, the satellite uplinx manager, a local cable operator, or a combination of these sources, and the data streaae contains program schedule information for all television programs and other services available in the operator's geographical market.
The data stream may be modulated and then transmitted on the cable lir_e in any nunber of ways, including as part of a
13 dedicat6d channel transmission ooerating at a frequency of, for e:ample, 75 PiHz. Those of skill in the art will understand that numerous other transmission schemes can be used to transmit the data stream, such as embedding it in the vertical blanking inter-val of a program broadcast signal. As will be discussed in greater detail below, according to the present invention, the transmitted data stream may additionally contain application software for implementing or updating the electronic program guide at the user site.
The transmitted program schedule data or application software is received by the receiver 12 on signal input line 11.
The received signal is passed from the receiver to a data demodulator 13, such as a QPSK demodulator or a GZ Info-Cipher 100oR, which demodulates the transmission and passes it to a buffer 15.
A microcontroller 16, such as a M69000EC, receives data passed to the buffer 15. Bootstrap operating softwareT which may be used for capturinq electronic program guide application software updates, is stored in a read only memory (ROa:) 17. The microcontroller 16 uses the received program schedule information to build a database by storing the data in appropriately organized records in dynamic random access memory (DRA?t) 18. The stored schedule information can be updated on a periodic basis, such as hourly, daily or weekly, or at any time when changes in scheduling or other factors warrant an update. The system also includes a syst.em clock 19.
Alternatively, the program schedule information could be supplied in a POM, disk or other non-volatile memory, or it cculd be downloaded to a storage disk or other data storage device. The invention herein is not directed to the particular method of transmission or reception of the schedule information.
If the microcontroller 16 recognizes the received data as application software which controls the program schedule system, as opposed to program schedule information, it stores it in non-volatile memory, such as an electrically erasable
14 programinable ROM (EEPROM) 20 or battery-backed static RAM (SR1.M).
This configuration allows revised or replacement versic:_'s of the application software to be downloaded directly from the software developer to the user site through the cable or other transmission 5 system.

In the case where an EEPROM is utilized, revised or replacement versions of the application software downloaded from the developer are first stored in DRAM 18 by the microcontroller 16, under direction of the downloading operating software stored in the ROM 17. The stored application software can t-hen be checked for accuracy by, for example, a checksum analysis or other verification roa.tine.
After the accuracy of the application software hzs been verified, the microcontroller 16 initiates a reutine to re-program the EEPROM 20, where the application software is permanently stored. The microcontroller 16 will issue proper control commands to a reprogram circuit 21, which is adapted to supply the proper program voltage and logic control signals 22 required to erase and write to the EEPROM. It supplies this program voltage, Vprog, as well as any other required control signals, such as read or write enable, to the EEPROM 20 upon command from the microcontroller 16.
After the EEPROM 20 has been electrically erased, the microcontroller 16 initiates transfer of the new application software from the DRAM 18 to the EEPROM 20 for storing.
'Khen a battery-backed SRAM is utilized as non-volatile memory, the microcontroller stores the re,.ised or replacement version of the application software downloaded from the developer directly in the SRAM, again under direction of the downloading operating software stored in the ROM. The stored application software can then be checked for accuracy by, for example, a checksum analysis or other verification routine.
When power is first applied to the system 10, the bootstrap operating software verifies that the program guide application software is resident in memory. If it is not resident, the bootstrap operating software waits for a download of the software. Once the application software is resident, the microcontroller 16 executes the application program software from a dedicated portion of the DRAM 18. Alternatively, the application softiaare can be executed directly from the non-5 vo;atile memory 20. Under control of the program guide application software, the microcontroller 16 first verifies that the program schedule_information is resident in DRAM 18. It it is not resident, tYe microcontroller waits for a download of the program schedule information, as discussed above. Alternatively, 10 if the application program is resident in memory, but the database records containing the program schedule information data are not yet available, the application software can be configured to carry out other tas.Ks, such as allowing the user to carry out functions not requiring the program schedule information data, as well as
15 displaying an apprupriate message indicating the database data is not yet available.
When.the schedule svstem is operating, as 4discussed in greater detail hereinbelow, the microcontroller 16 takes the program schedule information stored in the DRAM 18 and, in conjunctiori with other downloaded data types such as stored bit maps for the screen configuration and the graphic symbol or logo disalays stored in non-volatile memory 20 or, alternatively, in DRAM 18, supplies it to a video display generator (VDG) 23, which in the present embodiment may be a commercially available VGA-type graphics card, such as a Rocgen card manufactured by Roctec. The VDG includes a standard RGB video generator 24, which takes the digital program schedule information sent by the microcontroller
16 and converts it to an RGB format in accordance with the bit map for the particular screen display then being prasented to the user on the television receiver 27. The configuration of each screen is ihown and discussed in greater detail in the System operation section below.
The VDG also includes a Video Overlay Device 25, which accepts the RGB video input, as well as an input from conventional television tuner 28, such as a conventiorial tuner manufactured by General Instrument or a Jerrold DPBB tuner, which supplies a program signal in standard NTSC video format. The overlay device 25 converts and combines the RGB signal vith the signal from the tuner 28, and produces a composite NTSC output sicrnal containing both the program signal and the program schedule information, as shown in Fig. 2. This composite video signal is supplied to a modulator 26, shown in Fig. 1, which can be a modulator such as available from Radio Shack, and then to the television receiver 27, which the user keeps tuned to the modulated channel, for example, channel 3 or 4. The composite video signal can also be supplied directly to the television receiver 27 or other receiving device from the VDG thiough a video port 25A on the VDG.
The syst:m components identified in connection with Fig.
1 can all be implemented in a preferred platform by, for example, an IBM personal computer equipped with a transmission link and a video graphics card, such as those manufactured by Roetec. Other platferms,= such as a cnble converter box equipped with a sicroprocessor and memory, or a broadband network also could be used. Examples of the particular components are as follows:
Hicrocontroller -- Motorola part no. MC68331-16; ROM -- Texas Instruments pcrt no. THS27PC512; DRAM -- Texas Instruments part no. TM4256; EFPROM -- Intel part no. 28FOO1BX-T. In any event, those of skill in the art will appreciate that the particular details of the hardware components and data storage are a function of the particular implementation of the system, and are not the uubject of the present invention.
A.s discussed in detail below, the user may navigate through the program schedule system with a remote controller, such as that shown in Fig. 3, which operates on conventional principl-js of remote control transmitter-receii'sr logic, such as by infrared or oth:2r signalling, or other suitab:.e user interface. l-he remote controlle;: 31 communicates with the microcontroller 16 through the remote controller receiver 29, shown in Fig. 1, which can be a Silent Partner IR receiver bnd which receives signals transmitted
17 by the remote controller 31 and supplies the microcontroller 16 with a corresponding digital signal indicating the key depressed by the user.
A remote controller suitable for the present invention, such as shown in Fig. 3, which can be a remote controller manufactured by Universal Electronics or Presentation Electronics' Silent Partner, may include a power switch 32, volume 33 and mnte 34 controls, an ENTER key 35, 0-9 digit keys 36, four direction arrow keys 37A and 37B, a MODE key 38 and an information key 39 that is designated with a lower case "i." The power 32, volume:33 and mute 34 keys operate in the same manner as conventional remot-controllers typically used with present-day television receivers.
The numeric digit keys 36 also function in much the same lcanner as-conventional remote controllers. 1, brief description of the remaining keys follows.
The MODE key 38 takes the user through various layers of the electronic program schedule system :.0 and generally allows the user to return to a previous screen when he is in a submenu. T-be up/down.direction arrow keys 37A allow a user to navigate through the different TV program channels when the program schedule system is in a FLIP or BROWSE mode, as will be fully described below, and also allow the user to navigate through highlighted bars displayed on the TV screen when in a MENU mode. The left/right direc*rion arrow keys 37B allow the user to navigate through selected ti3ne periods when the prog-mam schedule system ic in the BROWSE mode, as will also be described below. They further allow the user to navigate across subject-matter categories while in the "Categories" submenu of the MENU mode, as well as to navigate across time periods when the program schedule system is in a pay-per-view ordering mode and, in general, navigate in left or rig!=t directions to select various icons and other objects. The information, or "i," key 39 allows the user to view supplemental program and other irformation during the various modes of the program schedule system. The ENTER 35 key fulfills and inputs a command once the ueer has made a selection from the remote
18 controller keys. The function and oFexation of these keys will be made more apparent in the detailed discussion of the FLIP, BROWSE
and 1+IEP7U nodes below.
P. second embodiment of the remote controller 40 is shown in Fig. 4. ThiF embodiment of tha rumote controller also inrludes a power key 41, nuneric digit keys 42, direction arrow keys 43A
ar.d 43B, information key 48, ENTER or SELECT or "OK" key 44, volume control 45, lockout key 45A, mute kevs 46 and help key 48A.
It also includes pound sign and star keys.
This embodiment of the remote controller further inclu:as a number of icon keys 47A and 47B, which correspond to different submenus or modes of the program schedule system. The icons 47A and 47B may also be displr,yad on the TV screen when the program schedule system is operating. The icon keys essentially replace `he MODE key 38 used in the embodiment of the remote controller shown in Fig. 3. Using these keys, the user can move from one mode to another simply by depressfng the icon key corresponding to the desired mode of operation of the program schedule system. In the embodiment of Fig. 4, the icons 47A and 47B are shown as graphic symbols situated directly above a corresponding color-ccdad key. Alternatively, the color-coded keys could be eliminated and keys could be formed in the image of the icon itself.
The embodiment of the remote controller shown in Fig. 4 also includes three color-coded viewer preference or favorite channel keys, 43A, 48B and t8C that are situated directly above the icon keys. Each of these keys indicates to the program schedule system a distinct user-created "Channel Preference" or "Favorite Channel" list, which is a listing of a specific subset of channels for a particular user, arranged in the sequential order that the user wishes to view during operation of the program schedule system. The creation of the Chanriel Preference or Favorite Chaanel list is discussed in the following section.
Thus, the system provides for at least three individual channel subsets for three individu3l users.
19 The remote controller of Fig. 4 also may be equipped vith a"HELP" key 48A, which, when depressed, causes the s.icrocontroller 16 to retrieve previously stored instruction messages from memory and cause them to be displayed on the S television receiver 27. These messages offer help to the user in the form of instructions that guide the ussr through the operation of the variotis operating modes of the electronic telcvision program guide. They may be text messages, or instructional video images, or ardio programs, deper_ding on the storage capacity of the system, or any combination of these. Moreover, these belp messages may be created so that they are context-sensitive, i.e., the messages displayed depend entirely upon the precise point in the operation of the electronic program guide that the user depresses the help key 48A. For example, information could be supplied for operation of the remote controller, for operating the FLIP or BROWSE mode (discussed below), or any other mode of operation of the guide, for impulse ordering, for setting a lockout, etc. In order to accomplish this, each point of operation of *..he guide could be coded so that the microprocessor could track the current operating point, for - example, by temporarily storing the code reflecting the present operating point as the user operated the guide. When the user pressed the help key 48A, the microcontroller 16 would retrieve an appropriate set of messages based on the presently stored operating point code. Additionally, the i key 39 could be used to carry out the function of the help key.
Additionally, each of the functions of the remote controllers can also be integrated into a keypad on the user's cable box or other hardware.

Svstem Operation In operation, the electronic program schedule system of the present invention functions as follows.

FW.PModg When the user is viewing a particular program channel on the television receiver, the program schedule system defaults to a FLIP mode, shown in Fig. 5. In this mode, a graphic overlay 51 5 containing programming information for the channel currently tuned on the tuner is superimposed in overlaying relationship with a received program s-4gnal 55 on the screen of the television receiver 27 whenever tha viewer changes the program channel, for example, by using the up/down direction arrows on ~~_hs remo`e 10 controller. The video overlay device 25, such as shown in Fig. 1, combines the computer-generated RGB video-graphic overlay information with. the NTSC-format program signal from thP tuner 28, and supplies an N'^SC-format output signal, wiiich includes the program signal from the tuner and the progrlm schedule overlay 15 information for viewing on the television receiver 27.
The prog-ramming information contained in the graphic overlay 51 is supplied to the RGB video generator by the microcontroller- In FLIP mode, the microcontroller first f,earches the program schedule database in, for example=, the DRAM 18 to
20 retrieve the progranming Information for the currently tuned channel 52 corresponding to the current time; :,.e., the ti.me at which the user just turned on the televisior, receiver for viewing.
The microcontroller 16 then supplies the cLrzent channel and prog^~-aa information to the RGB video generator e4 which converts t2.e digital data information to RGB format and supplies it to the video overlay device 25.
In normal operation, the microcontroller 16 defaults to displaying all channels offered by the cable company prioritized by numeric order, which is determined by t~ia broadcast cha:u.pl position in the radio spectrum or the marketing judgments of lccal cable operator.s. using a "Channel Prefererce" submenu, or an alternative "Locator" screen, both of which are discussed below, the user can revise the content and/or sequential order of the channels presented to the televisien receiver 27.
21 In general, if the user does not issue a change-channel instruction, or other command, from the remote controller 40 within a predetermined time interval while in the FLIP mode, the microcontroller 16 instructs the VDG 23 to remove the graphic overlay 51 from the television receiver,- thus presenting only a program signal 55 to the television receiver 27 for viewing. The duration of the predetermined time interval is such that it allows the user sufficient time to read the programming information contained in the overlay. The duration of the predetermined time interval during which the graphic 51 overlay appears is stored in a location in non-volatile memory 20 addre.ssable by the microcontroller 16. The user can change the duration of the time interval, by first entering a Viewer Preference mode, and then selecting an "overlav interval" entry. The microcontroller 16 then causes a uaer prompt to be displayed on the screen which, for example, asks the user to select an appropriate time period for displaying in the graphic overlay on the screen. Using the numeric keys, the user can input an appropriate response, for example, a period between 5 and 60 seconds, and then depress ENTER. The new interval period is then read and stored by the microcontroller 1G in the overlay time interval location =n ssemory.
.
If the user issues a change-channel command from the remote controller 40 before or after the predetermined overlay period has elapsed, either by using the up/down direction arrcws 43A, or by entering a desired channel number using the numeric keys 42 and then depressing the ENTER key 44, the microcontroller 16 will cause the tuner 28 to tune to the desired channel --either the channel immediately preceding or following the current channel when the up or down arrow 43A is used or the specific channel entered on the numeric key pad by the user -- and will also search for and immediately cause to be displayed the current program information for that channel. Thus, as the user flipc through the channels, the program schedule informatioii for any selected channel automatically appears i.n the graphic overlay 51
22 while the actual progra.m 55 appearing on the selected channel at the particular time occupies the remainder of `he screen.
The system can also be configured t~ issue an error aessage, such as an audible beep or displayed =cext indicating an 5 invalid key stroke, if the user depresses either the left or right direction arrow keys while in the FLIP node.
gPOWSE Mode To initiate thc BROWSE mode, the user depresses the MODE
s'ditch once while in the FLIP mode when using the first embadiment of the remote controller 31 shown in Fig. 3. Utilizing the second embodiment of the remote controller 4C srown ia fig. 4, tne user would depress the button below the BROWSE icon 47A.
In the BROWSE mode, the user is provided with the ability to scan through prcgram schedule information for any channel, including, but not limited to, the channel beina viewed, while at the same time continuing to view the TV program previously selected. As shown in Fig. 11,_ n this mode t`:e graphic overlay information that appears in the FLIP mode is replaced with programming information for the chart-nel being browsed, Which nay or may not be the channel curreatly being viewed by the user. After the user issues the command from the re;note controller 40 to enter the BROWSE mode, a graphic overlay 111 is generated, zs in the FLIP mode, with program schedule informatian for the currently tuned channel 112 and a textual BROWSE indicator 113 to remind the user of the currently active node, as shoorn in F ig. 11.
If ths u~er depresses eittier thR up or down direction arrow on the remote controller 40 whzle in the BROWSE mode, program schedule information for either the prior or next channel is diEplayed in the graphic overlay portion 111 of t:-e t=levision Yeceiver ccreen 27, while the tuner remains tuned to the channel program that appeared on the televi.:on receiver at the '::ime the user eritered the BROWSE mode, as shown in Fig. 12, and continues to so appear. Each successive depression of the up or down direction arrow key produces correspending program schedule information for the selected channel. The graphic overlay may also include a small video window for showing the actual video signal of a currently aired program or a clip of a fu*_ure program corresponding to the schedule information then appearing in tre BROWSE overlay. In this way, the user can simultaneously scan program schedule information fo- all channels while continuously viewing at least one selected program on the television receiver.
With the advent of sophisticated television receivers, it may also l0 be possible to simultaneously display multiple broadcast programs on a single screen for viewing, or to split the screen to show, for example, broadcast r,rograms in combination with advertisements. The DROWSE feature could be used in any of these situations.
If, at any time during scanning of the program schedule information in thz BROWSE mode, the user desires to tune the television receiver 27 from the program channel currentlv being viewed to the program channel inclicated in the schedule informaticn in the graphic overlay, he :;imply depresses the ENTER
button 44 and the tuner 28 will be tuned to that channel. If the user does not want to view another channel and wishes to exit the BROWSE mode, thus removing the graphic overlay 111 with the program schedule information, he must depress t.he MODE key twice in the first embodiment of tl. e remote controller 31. The first depression of the MODE key takes the user to the MENU mode, discussed below, and the second depression will take the user to the FLIP mode. Once in the FLIP mode, the graphic overlay will be removed nfte: the duration of the time-out interval has passed.
In the seccnd embodimer,t of the remote controller shown in Fig. 4, the uzer 'ioggles tY,e BROWSE icon key to deactivate the BROWSE
mode.
When the user first enters the BROWSE mode and i>egins scanning channeln, the schedule information appearing in the overlay portion 111 describes the programs currently playing on any particular channel. In order to view programming information for later or earlier times, the user employs the left and right direction arrows 43B. As a consequence, the system will dis-play future program schedule information for the particular channel previously selected by the up and down direction arrows, whether it. is the channel currently being viewed or any other available channel. The schedule information presented includes the nam~ of ths prccgraa and program start/stop time. The instant embodiment of the system, in order to conserve memory, will not allow the user to view proqramming informatioz for a time prior to the current time. The system could be easily modifieZ to provide such information if adequate memory is made available. It may be desirable, for example, to allow a user to view schedule information for an earlier time to find a particular show and then allow the user to command the microcontroller to find and display future airing dates of the show, or the microcontroller could simply do this automatically.
When viewing progra.a schedule information for a future time in the BROWSE mode, the displayed time of airing 121 of the partic~.:lar shou 122 is highlighted, as well -as the channel number and service indicator 123, as shown in Fig. 12A. Such highlighted information reminds the user that he is viewing program schedule information for a future time. Al.so, when viewing program schedule information for a future time on any particular channel in the BROWSE mode, cj.epression of the channel up direction arrow key on tlia remote c-)ntroller 40 causes programming schedule inform.ation for the next channel to appear, which corresponds in time to the future time that was being viewed before the up key was depressed by the user. The channel dow-n direction arrow key 43B functions identically iz this mode.
If while viewir,g arogram schedule infor.nation for a future time in BROWSE mode the user depresses tt:s E2:TER key cn the remote controller, the microaon-:.roller 16 will instruct the VDG 23 to display a RPISINDER overlay meosage 130 which, as shown in Fig.
13, is displayed as a second overlay 131 appearing above the BROWSE overlay 132. The RFMINDLR m_ssage _30 queries the use= as to whether the system should remind the user, at a predetermined time before the start of the selected program, that he or she would 1_ke to view the selected progra.m, as sho=,m in Fig. 13. If the user responds affirmatively, the microcontroller 16 stores 5 reminder data consisting of at least the channel, tir~e and day of the selected program in a reminder buffer, which contains similar schedule information for all programs for which the =ser has set a reminder. At a pre-determined time before the selected program start time, for example, five minutes, the microcontroller 16 will 10 retrieve schedule information, including titla and service, based on the reminder data, and will instruct the VDG 23 te display a REMINDr'R overlay message 140 on the television receiver 27, as shown in Fig. 14, to remind the user that he or she previously set a reminder to watch the selected program. The P=~~?I?~~~ message 15 140 contains the channel, service and start time. It also displays the number of minutes before the time of a-;-iag of the particular show and updates the displa} every minute until the time of airing. The REMINDER mess4ae 140 also displays a"TGHE"
inquiry, which asks the user if she would like to tu_e to the 20- selecte3 program. When the user sets multiple rer:izr.3e..s, the reminder overlays are stacked, for example, in ascending order accordir.3 to the time each reminder is scheduled to be displayed, and the next reminder message vill appear on the television receiver after the user takes appropriate action to remove the 25 reminder message then being displayed. The RI2iINDER =essage (140 could also be adapted to allow the user to display or modify a list of all reminders previously set by the user. 2,s with the overlay display time period in the FLIP mode, the user can modify the time p2riod before a salectad program that the RFMINDER
message appears by entering the 'Viewer Preference mode and revising the time entry.

t{EinJ Hode Using the remote controller 31 shown in Fig. 3, the user can enter the ?2ENU mode from the BP,OtdSE mode or from the FZ,IP mode by toggling the 1!ODE button 38 once or twice, respectively. Usir.g the remote controller 40 of Fig. 4, t.'ie user would simply depress the key 47B corzesponding to the FfrWU icon.
Referring to Fig. 6, in t_he MEN'U mode, the system displays a plurality of menu items and icons, which correspond- to and allow user selection of distinct program schedule information display formats, local cable system message bcards and other on-line information services. The MXWU screen shown in Fig. 6 is a full-screen display. in the embodiment shown in Fig. 6, there are four vertically selectable horizontal bars 61-64, which are accessed using the up and dcwn direction arrows 43A on the remote controller 21 or 40. At the extreme left of each bar, an identifying icon 61A-64A is displayed, which identifies the in_`ormation contained in that bar. In the embo3imen} of Fig. 6, the "TV GUIDE" icon 61A in the first bar corresponds to program schedule information from TV Guide magazine, the "NOW SHOWING*
icon 622% in the second bar 62 corresponds to pay-per-view and premium ser .7-ir.e events, the "HSO Logo" icon 63A in the third t~ar 63 cori=espo::t?s to Customer Service or local cable company information messages, and the circular iec., 64A in the fourth bar 64 corresponds to other interactive services available to the user, or in the case of broadband networks, other venues, e.g., hone shopping, banking or telephone use. As also shown in Figs.
6 and 6A, each bar also contains a textual description of its contents_ When the user first enters the ME2III mode, the system defau'.ts to selection of the program schedule bar. When a particular bar is selected, the textual description is removed and a plurality of icons or identifying windows are displayed adjacent the identifying icon. In Fig. 6, the program schedule bar 61 is selected. using the up or down direction arrow key on the remote controller 40, the user selects a vertically adjacent bar. Figs.

15-17 show, respectively, selection of the Pay-Per-View bar 62, the Customer Service or Messages bar 63 and the Interactive TV
services bar 64.
An alternative MAIN MENU screen 215 is shown in Fig. 38.
Certain selection screens accessible from the menu shown in Fig.
38 are shown in Figs. 38A and 38B. It has three horizontally selectable bars: program schedule 205, Home Theater 206 and Customer Service 207. The MAIN MEhJ screen 215 also contains an additional "Locator" identifier, which is described below.
Once a particular bar in the MENU screen is selected, the user can select a particular icon from the plurality of horizontally selectable displayed icons 65A-65C by using the left or right direction arrow and 'r.he ENTEFt key on the remote controller 40. Each ycoz contains a graphical symbol appearina in a background window of a particular color. When a particular icon is selected, it is effset from its background window and the color of the window changes. In Fig. 6, the grid icon 65A immediately adjacent the "TV GUIDE" icon in the first bar 61 is selected.
The function corresponding to the selectable entries in the Yu'LI2I HE2,TU screen will now be discussed with reference to Fig.
6. It will be appreciated by those of skill in the art that the same functionality applies in the categories shown in the MAIN
HEN-J 215 shown in Fig. 38.
In the uppermnst v;:rtically selectable horizontal bar 61, the first grid icon 65A reyresents an "All Listings" node in which the program rchedule infcrrration is displayed in a grid li6ting, such as that shown in Fig. 18. Alternatively, a single colunn gzid-like display could be used, as that shown in Fig. 25.
In this format, the vertical v-axis i-dentifias the channel number and service while thp horizontal x-axis identifies the time. The screen display of Fig. 18 also contains in the upper left-hand corner a mode identifier 190, in this case the notation "A11 Listings," to remind the user of the current cparating mode of the system. Directly underr.c-ath the sode display is a highlighted display 181 of the channel that the vs2r was srbtching before entering the MENU mode. in the upper right-hand corner, a logo icon 182 appears in a window directly above a date/time identifier 183, which alternatively displays the current date and time.
In the centier of the screen display shown in Fig. 18 is a graphical Active Key Display (AKD) 184 which indicates to the user those keys on the remote controller that are active for that particular mode of the program guide display system. For example, in the screen display of Fig. 18, the cursor can only nove up, down or to the riy_?t. If the user were to depress the left direction arrow key on the rerote controller at that point, the system would not carry cut any ftnction since the cursor can not move to tY-e left. Thus, the left arrow key is not active so its image is not displayed on the AKD 184. Similarly, since the system will only respond to a dzpression of the up, down or right direction arrow keys and the ENTER key, they are the only key iraages displayed on the graphical AXD 184. The KODE key, though r.ot displayed, is always active to change from one mode to another. When the user first enters the All Listinas -;-t:ide, the time listing begins by defa:ilt at the half-hour immediately preceding the current time ::nless t:ne current tine is on tne hour or hal: -hour, in xh:ch case the display begins with tha particular hour or half-haur, and the chnnnzl listing begins at the last channel ;oeing viawed by the user before entering the HENU mode.
For exanple, in Fig. 18, the current time is displayed as 7:13 p.m., the tile listing begins at 7:00 p.m. and the channel listing begins with c.hannel 4.
In the All Listings mode, a moveable highlighted cursor 185 is used to indicate the currently selected program to the user. The user manipulates cursor movement using the direction arrow keys on the remote controller 40. Furthermore, the entire information display pages upward if the cursor is n1ac.:d at the bottom of the screen and the down direction arrow is depre3sed, and simi l arly pages to the left if the c:;raor is at the extreme right side of the display and the r;ght direction arrow is depressed. In this way, the user can navigate through the entire program schedule.
The folder icon 65B immediately to the right of the All Listings icon in the top horizontal bar 61 of Fig. 6 identifies a "Category Listing" mode in which program schedule information is displayed and categorized by program content, as shown in Fig. is.
The particular listing showri in Fig. 19 includes the categories of PSovies, Sports, News and Children 190A-190D. The database record stored for each listing contains a content-specific identifier so the microcontroller can search the database and categorize the information by content for nurposes of displaving it in the Category Listing modc. As shown in Fig. 19, the user can aaaipulate the cursor left or right to highlight any one of the categories which appear at the head of the listing. In Fig. 19, the "Movies" category 190A is selected. As shown, the user is given a displav of all movies, prioritized by time and then alphabetically by title of show, beginning with the half-hour immediately preceding the current time unless the current time is on the hour or half-hour, in which case the display begins with the particular hour or half-hour. The screen display shown ir.
Fig. 19 also includes a textual description of the currant operating mode of the progr.3m schedule systeri, as well as the graphic AXD 184, similar to that used in connection with the All Listings mode.
As with the A11 Listings mode, if the user highlights a show which is currently airing, he can immediately tune to that show by depressing the ENTEFt key on the remote controller 40. If the hignlightPd show is ona that will appear at future time, the user is again given the option of settiag a REMI'7DEP, message.
The triangular icon 65C at the far right of the TV GUIDE
bc.r 61 in the display of Fig. 6 identif:Les a KChannel Lis_ing"
mode in which the program schedule infora:ation is categorized and displayed by channel, as shown in Fig. 20. The FcLeen display shown in Fig. 20 again includes a textur,l mode identifier 201. the graphic P.RD 184, and the window includ:ng the logo icon 182 and alternating time/date display 183. At the head of the program listing is a list of several consecutive channels 202A-202C
begianing with the last channel viewed by the user before entering the Channel Listing mode. The channel in the mi.ddle wir,dow 2023 5 is highlighted and is the channel for which schedule information is displayed. The display identifies those programs anpearing on the highlighted channel beginning with the half-hour immediately preceding the current time unless the current time is on the hour or half-hour, in which case the display begins with the particular 10 hour or half-hour. The user can display further future 1-istings by nanipulating the cursor to the bottom of the screen and paging the display: as previously described. The user can also change the selected channel by aanipulating the left or right direction arrow keys on the remote controller 40. When the user issues a 15 c.hange-char.nel command in this manner, the next cor.aecutive channel will be displayed in the highlighted window 2028 in the ch.annel str.ing at the head of the display, -and schedule infcrmation for the newly selected channel will be displayed on the television receiver 27.
20 As with other modes, if a user wishes to tune to a highlighted program that is currently airing, he can do so L-1 simply depressing the E."I'TER key on the remote controller 40, and if tbe user wishes to view a program that airs at a future tine, the user is again given the option of setting a REMIhDEit message.
25 In each of the FLIP, BROWSE and MEPiU nodes, a lower case "i" icon nppears at a number of occasions in connection with certain program listir.gs, such as movies, such as the "i" 203 shown {n Fig. 20. Any time this icon appears, the user can view additional programming information, generally comprising a textual 30 description of program content and/or other information related to the program, such as the names of cast members and the like, bv depre:si:g the "f" key 48 on t1ne rzmote controller 40. An example of a display of such additional information is shown in Fig. 21.
The second horixontal bar 62 appearing on ttie screen in the XAIl7 HE,iU ao<3e shown in Fig. 6 is the "Home Theater" Listing.

it corresponds to Pay-Per-View events or services, specialized programming, and Premium Service programs. When this category is chosen by the user, the television receiver displays ;.nformation as shown in Fig. 15. The first theater-ticket icon 150 t.hat appears in this Home Theater bar identifies a format in wrzch the Pay-Per-View events and premium services are displayed, as shown in Fig. 22. As with other modes, the user can manipulate the cursor to highlignt and select any particular show.. Also, the user can obtain additional information about the Pay-Per-View event or service by depressing the "i" key 48 on the remote controller 40. The Pay-Per-View menu screen display shown in Fig.
22 also includes a video display section 220 in which short promotional clips of current and future events and services can be shown to t3:a user while the user is vicaing the Pay-Per-View sched.uling information. The display of Fig. 22 is bit mapped such that the advertising clips may fle sboirn in the lower left quadrant of the screen. The clips may !~,e shown rando;cly in the video display section 120 or, alternatively, the clip shown could correspond to the particular selected entry on the list of events, and would change automatically as the user navigated through the W"nen a user highlights a Pay-Per-View event or service by manipulating the cursor to the desired event or service using the direction arrow keys on the remote controJ.ler 40, he can order the event or service by depressing the IINT'ER button on the raz+ote controller, thus lin}:ing schzdule, promotional and ordering functions. if the user selects a particular Pav-Per-View event or service in this manner, the pr.:gram.xing schedule system will next present to the user a Pay-Per-View ordering screen such as that shokm in Fig. 23. The display includes a f_g'ure representing the cost of the event or service. The display also asks the user to choose fror among a plurality of scheduled airing times 230A-23DC, as well as whether the user would like to see aRE2IHDE2 message prior to the start of the ?ay-Per-View event or service. '. : user responds to these inq=airies by using the direction keys on the remote controller 40 to manipulate the cursor to the proper response and then depressing the ENTER key. After the user has ordered a Pay-Per-View event or service, the progrt+m schedule system will present the user with two ordering confirmation submenus, such as shown in Figs. 24 and 24A. In either of these submenus, the user can confirm or cancel the Pay-Per-View event cr service.
If the user confirms the order, the microcontroller 16 stores the Pay-Per-View ordering infornation in a location in memory. The ordering information can then be trar.smitted to the cable operator by the microcontroller ]: either by pro-na line or or=. the cable line :rhere the system has :noo-way communication or other such ;nterrct:ve capability. Alternatively, a computer at the cable cperator location can interrogate the memory whp..e the microcontroiler stored the Pay-Per-View ordering information. At the appropriate time, the cable operator supplies the Pay-Per-View event or servi..e and it is received by all users-who have ordered the program. -The second icon 151 in the Pay-Per-View bar of Fig. 15 identifies a specialized broadcast, cable or satel~a.te programming service to which the user has access via t.he electronic program cn:ide. In this aode, the electronic program guidfl application software acts to connect t?~!e user, through an appronriate data transmission link, to the programming service, at which point the user interacts with the service. Alternatively, the electronic program guide provides the navigation software, including the zsenus and scheduli:~g information, for the particular programoir.g service. Such a service could be, for Exaa,ple, Your Choice il ('YCI'V"), a service offering reruns of highly rated broadcast ar.d cable p-rograms, in which case the icon may taY_e a forn su'-table to identify YCTV. The programming available on YCTV is then suppiied to the user via the prograsssing guide system.
The last Icon 152 appearing in the Pay-Per-View bar of Fig. 15 identifies a display format which lists all Prami=
Services offered by the cable operator, as shoFm in Fig. 26- In this mode, the user can select for impulse ordering any one of the prex-ium services by manipula`_ing the cursor using the direction arrow keys on the remote controller and depressing the ENTER key.
Similar to Pay-Per-View orderir.g, the system will present the user with a series of ordering displays and, if a service is ordered by the user, it will confirm the user's request using another other submenu. If confirmed, t:e microcontroller 16 will store the ordering information or transmit it directly to the cable operator. Once- the order has beeen confirmed, the microcontroller can iamediately allow the user access to the ordered premiun service. In this manner, the user can order preniun events or services on demand.
If, durir.g FLIP or BROWSE modes, a user views a channel or schedule information for a service not subscribed to by the user, the microcontroller 16 causes an ordering submenu to appear instead of displaying a program signal atong with the graphic overlay, as showr. in Fig. 9. This submenu indicates to the user that she does not currer.tly subscribe to the selected service, and than'asks the user if she would like to order the service. If the user responds affirzsat=vely, the proqran schedule system takes the user to the ordering st.bmenu discussed above. In this manner, the user can order premiuri events or services on impulse.
7he third horizontal bar 63 in the 2iiaTlJ mode shown in Fig. 6 is the "Messages" or "Customer Service" listing. As shown in Fig. 16, the first envelope icon 160 rQpresents message a.nfornation available from the cable operator. 'When tba user selects the message icon, he is presented with a screen display of currently available messages, as ahown in Fig. 27. The display shown i., Fig. 27 includes cable system messages 270 and billing jnformation 271. If the user selects the cable system messages option 270, she is presented with a message pertaining tu the Iocal ^.dblg operator, such as that shown in Fig. 26. If t.*,e user selects the billing status option 271 shovn in Fig. 27, she is presented with a 3isplav of current billing intormation, such as thst r.hoin in Fig. 29. This information may include a history of purchases charged to the user, current balance infcraation, pending orders, and, hn indication of available credit, which can be an authorized debit limit previously arranged with the cabla or other operator. Thus, a user could specify only a c~rtain pre-set spending limit. Once the amount of charges from pay-per-view events reaches the limit, the microcontroller would not permit fu_-ther ordering of events. An ai.tarnative messages menu is shown in Fig. 28A.
The next icon 161 in the 1-i:stomer Service information bar 63 of Fig. 16 identifies a "Viewer Preference" mode, which allows the user to create or revise a number of program schedule system operating parameters. Once selacted, this display presents the user with several preference options concerning certain operating parameters of the program schedule system, as well as 1s the viewing of certain channels and/or certain content-specific programiain.g, for 'exampl2, those shown in Fig. 7.
The first ootion shown in Fig. 74-s the "Parental"
option 70, which can also be expressed as a"Key Lock Access' option. Qnce this option is initially selected by t_he user, the system displays a"Rey Lock Access" submanu such as _:zat shos.-n in Fig. 30.
The Key Lock Access menu showr~ in Fig. 30 allows the user to control access to individual channels and programs or events by requiring the user to enter an access c;.de "key,"
consisting of a user-specified four digit code in che specific embodiment 3isc.-t,:ssed herein, before ordering or v:ea:Zg these pre-selected channels, programs or events. The menu display shown in Fig. 30 chows a series of subj6ct categories that are entries in the vertical 1-avis selectable by tha user. A particular subject eateeory is chosen by using the up or dawn direction arrow keys on t.he remote ccntr-iiler 40 to highi :?ht the desired entry.
omce the user selects a particular subject category, the left and right arrow keys are used to navigate within tne chosen category.
The first subject entry shown in Fig. 30 is `õhe "Parental Guidance" category 301. Once th2 user selects this category by manipulating the cursor to highlight the eiitry, the cursor can be then moved horizontally to an active window 302 which displays and selects one the five lett-?r rating :tems in the category. The letter items represent ratings of program content 5 as follows: "V" for violence, "N" for nudity, "L" for language, "AS" for adult situations and "PD" for parental discretion. once the user selects a particular item, such as "L", by moving to the active window 302 using the right direction arrow key, depressing the ENTER key will indicate to the microcontroller 16 that a key 10 lock access has been selected for progra,ms rated with a "L" rating for violent or explicit language. The system indicates activation of a key lock access by displaying a key icon directly below the "L" category display. Once a key lock access is set, it can be deactivated by selecting the category letter and then depressing 15 the ENTER key. This action causes the key icon to disappear. The user can change the rating category in the active window 302 by using the left or right direction arrow keys on the remote cantroller 40, images of which are displayPd on the screen adjacent the active window as a reminder to the user. In this 20 manner, the user can select other rating categories for setting a key lock access for any of the program content identifiers appearing in the Parental Guidance category.
The key lock access code itself consists of a four digit code, which the use:: can enter and modify at any time. Ta do so, 25 the user highlights the fourth vertically selectable entry "Change jcey Lock Access Code," 304 by manipulating the cursor to highlight it using the direction arrow keys on the remote controller. Once highlighted, the user enters a new four digit code or revises the then existing code and depresses the E2:TEM key. The 30 microcontroller 16 then identifies the new four digit key lock access code and stores it in memory. The user can clear the key lock access code, as well as all other previously activated keys, by moving to the last entry in Fig. 30, "C].ear Key Lock Access Code and All Keys," 305 which highlights the "OK" window, and then depressing the F*fTE3t key. This action clears and deactivates all previously set keys, as well as the key lock access code.
The schedule information database record for each program contains a field that corresponds to the program content identifiers in the Parerital Guidance category. During operation, the micLocontroller checks this field in response to a user c.mmand to -tune to or order a program, or to display its corresponding schedule information before carrying out t.*re tuning, ordering or displaying functicri. If the parental guide identifier in the program schedule information database record matches any one of the activated parental guidance identifiers shown in aig_ 3o, the user will be prompted to enter the four digit key lock access code before the system takes any further action. If the=
entered code watches the key lock access code previously entered and stored by the user as described above, the system will carry out the user request to tune to the program, to order it, or to display its corresponding schedule information. If the code is not recoanized by the system, no further action will be taken and the, user's request vi'LI be denied.
By manipulating the cursor using the direction arrow keys to highlight the second entry, "M?~A_A ratings," 308 the user can also set a key loc:c access for procrrar_s based on their HPAA
rating cc,de, as also shown in Fig. 30.
?.s with the Parental Guidance category, once '-he H?AA
rating category has been selected, the user can not=e hcrizontally within the category to the active window 306 to select one the five rating codes, i.e., "G" fcr general audiences, "PG" for parental guidance, "PG-13" for suggested parental guidance, no one under 1' admi.ttz--c without an adu1t, "R" for restricted and "X" for x-rated. As with the Parental Guidsnce category, by selecting a particular rating --by using the left or right direction arrow kays until the particular rating code uppears in the active window--and then depressing tha ENTER kev, the user eQtc a?:ey lock access for the rating, in w?:ich case a kcy icon appears bQlow the rating code. ehund, as with the Parental Guidance category, once a key lock access is set, the system will prompt the user to enter the four digit key lock access code anytime a request is made to tune to, order or display schpdule information for a particular program having a rating code which mat.:hes a rating code for which key lock access has been activated.
The Rey Lock Access mode also includes a s=,ibject category 303 for controlling access to cha-tnels, which may be e.ntitled,. for example, "Channel Block" or "Channel Lock." As with the Parental Guidance 301 and MPAA 308 categories, the user navigates to the Channel Block category 303 by manipulating the cursor using the direction arrow keys on the remote controller and depressinq the ENTER key. Once the Channel Block category 303 has been entered, the user can move horizontally to an active window 31-7, which in Fig. 30 indicates channel 2. Once the user highlights this window by manipulating the cursor using the direction arrow keys on the remote controller 40, a key lock access can be set for the channel appearing in the active window.
This is done, as with the other subject categories in the Key Lock - Access mode, by depressina the EN:rER key, vhich again causes a key icon to appear below the channel number in the active window. The user can sove to the prior channel or to the next channel in sequer.ce by depressing either the left or right direction arrow kev on the remote controller 40. In this manner, the user can activate a key lock access for any available channel.
As with the Parental Guidance 301 and MPAA 308 categories, once a key lock access is set for a particular channel, the system will prompt the user to input the key lock access code prior to carrying out an instruction to tune to or order that channel. If the input key lock access code matches the previously stored access code, the user's instruction is carried out. Otherwise, the user's instruction is ignored. ' Thus, the user can control*access to the audio and video program content of any available channel. In this instance, the microcontroller 16 vill not allow audio or video program signals to pass to the VDG, but it will allow schedule information to appear for the channel.

An alternative method for effecting lockout of programs is accomplished using a"Lockout" screen, as shown in Fig. 39. In addition to limiting access to programs based on the Parental Guidance, MPAA and channel criteria, as discussed above, access may be limited on the basis of program title. Fig. 39 shows an alternativa Lockout screen 250 that can be used to permit or limit access to programs based on program title, in addit_on to the aforementioned criteria. Other parameters also may be inc'Luded, such as time of day, day of week, credit limit, and contEnt category (e.g., talk shows).
To enter the Lockout screen 250 shown in rig. 39, the user must enter a multi-digit lockout code using the numeric digit keys 42 and the enter key 44 on the remote controller 40. The lockout code is set initially when the system is first used or installed. To set a lockout code in the first instance, the user accesses a Setup screen 260, such as that s2:own in P g. 40. The Setup screen 260 will automatically appear the first time the electronic program guide is installed and initialized. For access .during normal operation of the electronic program guide, a suitable access path to the Setup screen 260 may be provided, such as from an appropriate icon in the HAIN MENIJ 215.
In the Setup screen 260 of Fig_ 40, the user can r.avighce to the Lockout Code category 265 and set a new lockout code using the appropriate navigation and selection keys on the remote r.ontroller 40. P_ suitable menu for inputting the lockout code is shown in Fig. 40A. Once enabled, the lockout code must be uned to Eat or modify locks, to view a previously locked program, or to clear or change the lockout code. The memory location of t.he stored lockout code also should be remotely accessible, such as bv the local cable company, in case the user forgets the lockout code and it must be erased.
Once the lockout code is entered and the Lockout screen 250 cf Fig. 39 is displayed, navigation within the screen is controlled by the direction keys 43A and 43B on the remote controller 40. Using the up and down direction keys 43A to move the selection cursor, either the Movie Rating 251, Parental Guidance 252, Channel 253, Locked Program 254 or Lockout Coae 255 category can be selected. The left and right direction keys :3B
are then used to navigate inside the selected category.
Clearing a previously set lockout code is acco=p3ished by moving the selection cursor to the "Clear" entry 256 in the Lockout Code category 255 and depress L~g the enter key 44 on the remote controller 40. This causes the microcontroller to clear the lockout code stored in memory, as well as all locks previously set by the user. To change the currer,t lockout code, the user navigates to the "Change" entry 257 in the Lockout Code category 255 and depresses the enter key 44 on the remote cor.troller 40.
Tne user is then prompted to enter a new lockout code, whi='a is subsequently stored in memory by the microcontroller.
To set a lock in either the Mavie Rating 251 or Parental Guidance 252 category, the user navigates to the selected entry in Fig. 39 by manipulating the selection cursor using the direction keys 43A and 43B on the remote controller -40, and then depresses -a lockout key on the remote controller, such as the padlcck key 45A shown in Fig. 4. The microcontroller will appropriately modify the display to indicate that a lock has been set, for example, by changing the color of the te~,~t or the backgro::^3 in the selected entry window, or by displaying an appropriate icon next to the text in the selected entr= window. In Fig. 39, a padlock icon 258 appears in the window of the "PG" entri in the Movie Rating category 251. Toggling t::-,e lockout key wailA the selection cursor is positioned on a selected entry will alternately enable and disable the locY.out function for ths_t entry-3o Similarly, to set a J.oc:c for a particular channe:, the user selects the channel using the selection cursor r.nd _hen depresses the lockout key. In Fig. 39, =.`:e channel "4 K:;:tC" er.t_-y in the Channel category 253 has been locked, which is indic- --.: by the inverse video and padlock i=cz appea_ring in th~; windc:~.

Program locks also may be set by title, which can be effected in several ways. For example, when the above-described FLIP or BROWSE mode of the electronic program guide is enabled, thereby causing the title of a progzam tv be displayed along with 5 other program schedule information in a windcw superimposed on the actual program signal then being received, the user can limit access to the program corresponding to the displayed progi.:--information by depressing the lockout key 45A on the -remote controller 40. The user also may limit access to the currently 10 ttmed program by depressing the lockout key 45A on the remote controller 40 while viewing the program, regardless whether the FLIP or BROWSE modes are enabled. In this instance, the microcontroller first removes the program signal from the display and then accesses the schedule information database record for the :5 program then appearing and sets an appropriate flag to indicate the program has been locked. Also, when viewing program schedule information in the grid or category listings, as discussed above and shown, for example, in Figs. 18-20, the user also can tag a program for lockout by highlighting it vith the selection cursor 20 and ther. depressing the lockout key 45A on the remote controller 40.
In each of these instances, the microcontroller then stores the program title in a lockourc title list stored in memory along with any other titles that previously have been locked out 25 by the user. Individlial items in the lockout title list are digplayed in alphabetical order in the "Locked Program" window 259 shown in Fig. 39, and the user may scroll through the list by positioning the selection cursor on the Locked Program window 25S
using the up and down direction keys 43A on the remote controller 30 in Fig. 40 and then using tne left and right direction ::ceys 43B to sczoll through the list one item at a time. In order to save xiemory space, alternatively, the nicrocontroller may be programmed to set a flag or otherwise mark the particular database record containing the program sche:'ule information for the program that 35 is to be locked out, and to th-!reafter access the database to retrieve the title information when it is to be displayed, ::uch as when the viewer is reviewing the lockout title list in the Locked Program window 259.
Once an individual title has hleen locked out, the m'Lcrocontroller can be programmed optionally to display an appropriate lockout icon, such as a padlock, whenever program schedule information for the locked program is to be displayed_ such as in the window overlay of the FLIP or B220WSE mode, or in the various grid and category displays available in the MAIN MENU
displays. The system also may display an appropriate text message if someone tries to access the program signal of a previously-locked program. Of course, oncs a nrogram is locked, in all instances the microcontroller prevents access to the actual program signal (including both the audio and video portions of the program signal) unti'_ an appropriate code is entered or the lockout is removed.
Several methods can be used to block programs at their time of airing. For example, in tha case of the Movie Rating, Parental Guidance and Channel catejories, the schedule information database record for each program is provided with a field that corre.,ponds to the rating, program content identifier or channel appearing, respectively, in the Movie Rating 251, Parental Guidance 256 and Channel 253 category of the Lockout screen 250 shown in Fig. 39.
During operation, the microcontroll,~r checks the appropriate field in the database record .in response to a usar command to tune to or order a program before carrying out the tuning or ordering function. Additionally, the lockout code also may be used to restrict access to program schedule information.
In this instance, the micrecontroller also would check the appropriate field in the schedule information databafle record before displaying schedule information for a program.
If the movie rating, parental guidance or chnnne]
{dentifier in the program schedule information database record matches any one of the locked-out entries indicated in the Lockout screen 250, a Lockout Verify screen 300 is displayed in overlaying relationsbip with the video signal then being displayed on the television receiver, as shown in Fig. 41. The user will be promipted to enter the previously set lockout code before the system takes any further action. As an added security neasure, asterisks will be displayed as the user enters the lockout code.
If the entered code matches the lockout code previously entered and stored by the user as described above, the system will carry out the user request to tune to or order the program, or to display its corresponding schedule information. If the code is not recognized by the system, no further action will be taken and the user's request will be denied. In this case, the Lockout Verify screen 300 will remain displayed on the television receiver waiting for a correct code to be entered. ?f no action is taken by the user, the Lockout tieri-fy screen 300 will be removed after a predetermined time-out period, such as one or two minutes.
Similarly, in the case of lockout by 'title, the microcontroller also could check the title field :n the schedule information database record and compare it with the list of program titles for whic?, the user previously set a lock. If, as described above, the microcontrollar does not maintain a list ct the actual titles of programs locked by title, a suitable identifier can be a2t in a field in the 3atabase record to indicate that a progran has been locked by title when the user fixxst sets the lock, and, thereafter, the microcontroller could cher.k that field in response to a user request to tune to or order a program, or diaplay schedule information.
An alternative method for effecting lockout involves the use of a pertion of the real-time program signai. Y,eang r eceived by the television receiver. With this method, codes corresponding to a oroyram's rating, parental guidance category, t'Ltle or channel are inrserted into and transmitted along with the program signal, such as in the vertichl or horizontal blanking intervals, or on raster scan 1ines that are not viyible on thc te?evisicn receiver.
When the program signal is received, these codes are stripped from the program signal and stored in memory. Methods and apparatus for the insertion transmission and reception of digital codes carried or. a program signal are known in the art.
After the transmitted codes have been separated fro= the program signal and stored in memory, the microcontroller can compare them with the lockout crite-ia set by the user in the Lockout screen and take appropriate action, as described above.=
The Setup screen 260 shown in Fig. 40 also contains a Purchase Code category 270, which allows the user to set a numeric i0 purchase code that must be entered before any premium channels or pay-per-view programs can be ordered. The Setup screen 260 s!:owr.
in Fig. 40 includes entries for setting a new purchase code and for clearing or changing a previously set password. A;propriate menus for setting, confirming, clearing or changing the p:;rchase code are shown in Figs. 40B through 40E. once_a user sets a p.irchase code, the microcontroller thereafter will display a Purchase Code Verify screen in response to a user request to tune to or order a premium sertzices channel or pay-per-view procr-aw:.
The Psrchase Code Verify screen works in a manner similar to the Lcckout Verify screen 300 in that the user is prompted to enter the previously set purchase code password before the microco:-treller will tune to or ordsr the recluested progr. am. If the correct purchase code is not entered, the microcontroller will take no further action and the Purchase Code Verify s_reen will remain dispiayed waiting for input of the correct code. If no acctior, is taken within a predeterm:ned time-out period, the F-urchase Code Verify screen will be removed.
The next o^tion snowz in Fig. 7 is the Channel Preferenci or "F'svor:te C'r-annPl" list option 71. By highlighting this icon and depressing the EAtTER key cn the remote controller 40, the t:ser is presented with s submenu on the screen auch as that shown in Fig. S.
in normal operation, the program guide system presents channels to the user in nu~sezical order in response to an up or de-rn c.`.ange-channel co:r.mand issued by the user using one cf the direction arrow keys on the remote controller. The channel number presentation sequence includes all channels offered by the cable coapany in the order of which they are modulated onto the channel by the operator.
The program guide system also provides the capability of selecting from among several user-defined channel presentation sequences, which are activated using one of the three "check mark"
icon keys 48A, 48B or 48C on the re-; ote controller 40 shown in Fig. 4. Each of these keys represents a preferred particular list of channels which a particular user selects and which the microcontrolier stores in memory as a"Chanzei Preference" list, as discussed in cetail below. To activate one of these preferred channel lists, the user denresses the corresponding check-mark icon key, in which case the microcontroller may display *-he chosen 25 icon on the screen in the graphic overlays and full screen displays to remind the user that a partticular channel preference list is being used by the system. Once a preference list is activated, the system will limit the tuning of the television receiver and the display of schedule information only to those channels that are designated in the activated viewer preference lir.t.
To revise the ccr.tent and/or seguent{al order of the char.nels in the ::hannel Preference list, the user enters the MENU
node of the progrsmming guide system. To entAr the MENU mode from the FLIP mode, the user twice depresses the MODE key 38 when using the remote controller _= of Fig. 3. To enter the MENU mode when using the alternative tabodiment of the remote controller 40 of Fig. 4, the user simply riepresses the MENU icon key 47B.
Hhen first entered, the FE.*ro mode has a screen dis?lay :;uch as Fhown in Fig. 6. To select the submenu for editing the Channel Preference list, the user first selects the third horizcn;al bar 63, which can be titled, for example, "Messages" or "Customer Service," by manipulating the cursor using the down direction arrow key, as shown in Fig. 7. The screen of Fig. 6A is thereby displ^_ycd. The user then selects the second icon 161 appearing in that bar, indicated with a check mark, vhich corresponds to a "Viewer Preference" mode, by highlignting the icon using the direction arrow keys and again depressing the ENi~.R
kev. This action will cauFe the microcontroller 16 to display a 5 Viewer Preference submenu such as that shown in Fig. 7. BY
selecting the Channel Preference or "Favorite Channel" entry 71, the user enters the Channel Preference submenu, shown in Fig. 8.
If the, user has not already done so, he would then depress the particular check-mark icon key on the remote control2er 40 of 10 Fig.4 to create or revise the parti.:ular channel preference list.
In the Channel Preference menu shown in Fig. 8, a list 80 of all channels available on the particular cable syste--e is disnlayed on the left side of the television receiver screen,-labsled "Choices" in Fig. 8, and the viewer's preferred l'-st 81, 15 designated "Selected" in Fig. 8, is displayed on the right s;de.
If a particular code, suct, as an '..1dD or "-1" symbol appears in the first (::ppermcst) position 82 of the viewer pref+erence list El, the system displays information for all channels in nuaerical order in all modes of operation. This is the default mcde of t.he 20 system.
By selecting channels in sQquence from '.:he available list 80 and placing them in the desired order in the profere.^.ce list 31, the user can select a subset of channels and/or rearrange the default sequence in response to a channel up or channel dovn 25 command from t.he user. This is accomplished by highlightir.g a channel in the available list 80 using the up and down direction arrow keys on the remote controller 40 and depressing the M:TT-t key 44, which stores the entry temporarily in a buffer.
The aicrocontroller 16 stores a list of all channels 30 previously entered in the viewer preference list 81. As a parcicular channel is highlighted by the user when navigatiag through the available channel list 80 displayed on the left side of the television screen, a windoa 84 appears adjacer.t to the particular channel highlighted by the user. It the partict:lar 35 channel already appears in the vieuer preference list 81, the system displays a"LELETE" message in the window 84 as a reminder that the channel was previously selected from the available channel list 80 and can only be deleted from the list 81, which is accomplished by depressing the MTER key 44. if the particular highlighted channel in the list 80 was not previously selected, the system displays a"SEI.ECT" message in the window 84 as a rminder that the particular channel will be selected for addition to the viewer preference list 81 if the user depresses the E.*tTER
key 44. The microcontroller 16 inserts a selected chanisel at the bottom of the list 81. In this manner, the user cnn select cr delete channels from the viewer preference list in anv desired order.
'1'he available channel list 80 may also be provided with categorical entries 83, such as movies, news, sports or children's shows. The user may also highlight any of these entries and put theW into t::e viewer preference list 81. If the user does i:.clude a category in his viewer preference list 81, when tha user issues channel up or down commands, the system will display, in sequence, first the user's selected preferred channels in numerical order and then all channels having a program whose content corresponds to the selected category or categories at the time.
Once the user has revised the channcl preference list 81 in the described manner, the microcontroller 16 will follow the stored user-specified channel saciuence in response to a change-channel command made by the user employing one of the direction arrow keys. To activate the viewer preference list, the user depresses one of the three check-mark icon keys 48A, 48E or 48C on '-..2:s top of the remote controller shown in Fig. 4. The viewer preference list can be used to selectively limit tuning of tY.e television receiver or display cf schedule information in any of the operating modes of the electronic program guide. In the present embodiment, once a preference list is activated, the aystem will limit the tuning oi the television receiver and the display of schedule information in the FLIP, and BROWSE modes, as wsll as in the grid category and channel listings in the HI:xU

mode, only to those channels designated in the activated viewer preference list. The tuner can not be tuned to, and no corresponding schedule information can be displayed for, any channel not entered in the viewer preference list when it is activated. In this regard, it should be noted that setting a key lock access in the Parental Guidance 301, MPAA 308 or Channel Block 303 categories produces a different result than when using other display criteria, such as the Channel Preferenue List of preferred channels discussed above. Thus, while a key lock access will prevent audio and video program information, but not schedule information, fro:n being displayed or ordered absent entry of an :.uthorization code, if a particular channel is included in the Channel Preference list and also has a key lock access activated in the Channel Block category 303 of the Key Lock Access mode, that ch:i:ulel or its correspondina schedule infor=ation will not be d'_splaVed at any time. -Tc deactivate a previously selected_viewer preferenca list, the user toggles the appropriate check-mark icon key on the remote cc:itroller 40 oi Fig. 4. Once deactivated, the system defaults to displaying and tuning all available channels, as well as displaying schedule information for all available channels.
Alternatively, the viewer preference list 81, i~
activated, can be used to control tuning and display of schedule information only in selected modes, such as only in the FLIP mode, thus allowing the user to tune and view cerresponding schedule information only for those channrtls entered in the preference list 81 in the FLIP mode, while viewing all channels and corresponding schedule information in all other modes.
In this latter configuration, as well as in the instance where no channel preference list is activated and t..he system is in default mode, if a channel appears in the vibver preference list 81 that corresponds to a service not subscrib-ed to by the user, the microcontroller 16 causes an ordering submenu to appear instead of displaying a program signal alor.g with the graphic overlay, as shown in Fig. 9. Tiiis stibmenu indicates to t_':a user that he does riot currently subscribe to the selected service, and then asks the user if he would like to order the service. If the user responds affirmatively, the program schedule system takes the user to another ordering suj:)menu to confirm the user's request, as with impulse orderir.g.
The program guide also nay be configured with a Locator screen 201, as shown in Fig. 37, which aids the viewer in channel selection and definition ol- a favorite channel list. The Locator screen 201 dispiays all available channel nuir.bers erouFed according to the source of the program information appearing on any paryicu?ar channel at any paTticula.r time, e.g., broadcast, cablecast, pay-per-view, near video on demand, satellite, or other source of program material. Thus, the Locator screen 201 can be used to locate any part_.cular channel or service because the groupings provide a guic!c and efficient method for scrolling through the list of available char_nels. The channel nu*-:eTs also iLaty be groupGd according to other criteria-, such as ircgran category, program content, program rating or other content-based standard, time of availability, numerical order, or other logical grouping.
In the exainpie shown in Fig. 37, the user n3vigates within 'the Locator scrse:- 201 using the direction keys 43A and 43B
on the remote controller 40. The right and left direction keys 43B move the selection cursor within the category rcws, w5ile iihe up and dotim direction keys 43A are used to select a particular catagor-y. From the Locator screen 201, any 2 arti cular channel can Ie selected fcr viewir.g by positioning the selection clarsor on the desired channel and depressing either the enter key 44 or an optional tune key (r3t shown) on the remote co*_itreller 40.
3C in addition to aiding in caanne1 selecticn, the Locator screen 201 also provides the user uith the ability to conveniently define iavorite channe3 lists. To do so, the nser first moves the sslsction cursor to the desir.ed channel bv using the direc}ior.
keys 43~: and 43B or numer_c d;.git keys 42 on the remote controller 40, and then diepresses a f&vorite channel key 46A provided on the remote controller 40, which causes the display to change in some nanner or characteristic as an indication that the channel has bean selected as a favorite channel, such as by changing the color of the channel identification text or the text background, by displaying an appropriate icon or by some other appropriate identification scheme. In the remote controller 40 shown in Fig.
4, t.ise pound key "f" can function as the favorite channel key.
Also, if multiple favorite channel lists are being used, tk~e user would depress th-e appropriate favorite channel key on the remote controller to select a par*.icular list before depressing the favorite channel key. For example, as discussed above, the remote controller 40 shown in Fig. 4, has three color-coded check-mark favorite channel keys 48A, 48B and 48C, which provide for at least three individual favorite channel lists for th-ze individual users. Different identification characteristic:: could be displayed on the Locator screen 201 to indicate tha_ a particular favorite channel list is selected. For example, the ::co,z or image used to enable a favorite channel list on the re:otcs controller, such as the check mark key 48A used on t2--e remote controller 40 shown in Fig. 4, could be displayed or, the Locator screen 201, as well as other screens of the program guide, when a favorite channel list is enabled. Alternatively, the color of the displayed text or background could be chaziged to match the color of the selected favorite channel key.
The Locator screen 201 may be zccessEd via several paths. For exanple, it may be included as a virtual chanr.nl that is conveniently positioned in the channel-tuning sequence, such as hetween the highest and lowest available channel numbers -- for exampie, a vir*_ual cranr_el 0. To the user, such a virtua2 channel appears to be a conventio-nal channel. However, it requires no additional bandwidth as a carrier. For example, it can be dig1tally produeed at the subscriber station or included in an appropriate blar.king interval in existing band~.ridth freg=sencies.
In this manner, the virtual channel is accessib?e eithar by entering the corresponding channel number using the numer:c digit keys 42 on the remote controller, or by using tila up and down direction keys 43A to wrap around from the highest to the lowest channel number, or vice versa. As shown in Fig. 38, it also may be desirable to provide a suitable identifier, such as ar, icon or 5 text message 210, in the MAIN MENII displav 215, trom which the user could access the Locator screer, 201 sixpiy by highlighting the identifier 210 with the selection cursor and depressing the enter key 44-on the remote cont=oller 40. Alternatively, the remote controller may be provided with a key correspcnding to the 10 Locator screen 201 which would cause the nicrocontroller to display the Locator screen 201 when the :?ser depressed it_ In addition to Channel Preferenca or Favorite Channel keys, the remote controller 40 can also be supplied with a nunber of user-activated categorv preference icon keys, e.g., =ovies, 15 sports, or children's programming. The system can be adapted to present to the user only thcse programs meeting particular preference category when it is activated by the user. As witn the Channel Preference iccns, the microcontroller may display the '_con corresponding to the activated preference category to rereind the 20 user of the currently activated mode of system operation.
The question mark icon 162 at the far right of the t;,ird horizontal bar in the menu o: Fig_ 16 identifies a program :-uide sirstem "Help" node in which infcrmati on exp laining the operati an of the system is displayed for the user. Again, by manipulating 25 the cursor using the appropriate keys on the remote controller, the user can select this mode. enca selected, the next submenu appearing in the Help mode asks the user to ider_tify the particular portion of the system about :rr.ich the user would like to view Help information.
3o The icons appearing in L.''ie last horizontal bar cf the MLh"J moclP identify certain interactivQ andJor other types of information se7rvices which the progr::rW.ir_g system, acting as a gateway, makes available to the user as shown in Fig. 17. By manipulating the cursor, the user can select any one of the 35 identified services, as shown in Figs. 31-35.

For example, if the user initially selects the "X*PRE.;S"
icon appearing in the last horizontal bar, ?ie is presented with a s~.`-nenu such as that shown in Fig. 31. Using the direction arrow and enter keys on the rsmote controller, the user selects one of the three entries appearing in the display of Fig. 3:. Once a particular entry is selected, the electronic program guide connects the user to the selected service and passes control to the particular service application software, as sho-.m in Figs. 32-35. _ 2c Alternatively, the remote controller 40 can be supplied with a plurality of content-specific keys corresponding to a plurality of content-specific categories of pzogrammir.g, e.g., a Socrts kev, News key, Movie key, etc. When the user depresses a contant-specific key, a conLent-specific mode is initi4ted. In Fig. 4, the reyote controller is equipped with a Sports key 49.
If the user aepresses the Sports key 49, the microcontroller will limit- the display of programs and/or prxram schedule information to thcse that are srorts-relatsd. The microcontrolier will block all other progra=-ming cr schedule information from appearing on t2ae television receiver. The microcontroiler can be adanted to distinguish programs and schedule information that are aports-zelated by examinina, an appropriate code associated with the program or schedule inforznation.
As discussed above, codizg can be accomplished using any r.i:.iaber of inethod_ _ such as by ir.cludir.g an appropriate code in :.he vertical blanking interval of the program signa'_, cr in an appropriate memory location in the database record of the prcg--,--m schedule informntion, ar if the schedule infcrmatic:n is being received on a broadband network, by including it in an appropriate blankin7 interval. The user activates a content-specific mode by depressing the appropriate content-specific key in any codr of operation of the electronic progr3raoing guide, ir.cludir,g tce aforedescribed FLIP, BROWSE or H.AIN MENU mode:., as well as when no schedule inforraation is being clisplayed and only a program signal is visible on the television receiver. Once a content-specific mode is requested by the user, the r.icrocontroller immediately and directly enables the content-specific prograsming criteria, and maintains it for all operating modes of the guide until disabled, which can be accomplished, for example, by toggling the Sports key 49.
Instead of a dedicated content-specific key, such as Sports key 49, the system saay be configured with a single, generic content-specific key, which, when activated, would cause the microcontroller to display a content-specific menu containing a list of all content-specific categories available to the user.
The user then could highlight a particular category by manipulating t_he selection cursor using the direction arrow keys on the. remote controller and select it by depressing the ENTER or OK key 44. As an alternative to using a content-specific key on the remote controller, access to the content-specific menu can be effected by providing an appropriate identifier in another menu screen of the electronic guide, such as in the S.OCXTOR, SETUP or MRIN MENLI screens.
3n addition to blocking all non-selected content-specific programming when a particular content-specific category has been selectea, the micrccontroller can be -ogrammed to enabla all added-value programming or services t*!at are specially related ta the selected content-specific cateeory. For example, if the user activates a Sports content-specific mode, the microcontroller, in addition to allowing only sports programming or schedule information related to sports programming to be displayed, will proactively seek out and enable all sports related added-value ser-vices, such as re'_=ated trivia or video qames, up-to-date scores while a game is in progress, team schedules, replays of prior games of the selacCed teams or players, ticket or souvenir purchasing, etc. Thus, t:ie infornation available from the programming or service can be integrated into the environment of the electsonic program guide. Rather than simply passing ccntYol to another service as described above, in this manner the electronic program guide wou5d func:inn as a system integrator or interface to combine the available added-value information into a packacT; within the electronic guide environment, thus essentially creating a series of modular electronic program applications correspondiny to a variety of available content-specific categories. -The Setup screen shown in rig. 40 also includes a Text Location category 275, which contains the textual entries "Bottoza of :.::tee:-" and "Top of Screen." By navigating to the Text Location category.275 using the up and down direction keys 43A on the remote controller 40, and to either the "Top" or "Bottom"
entries in that category using the left and right direction keys 43B on the remote controller, and then depressing the enter or select key 44, the user can control t:ie position of the overlay windows used to display information in various operating modes of the electronic prt-ictram guide. The Se=up screer. of Fig. 40 provides the user with twc t+ositicnal chcices: the toti or bottcm of the screen. Depending on the modes of operation of the program guide, it may be desirable to provid-e the user with more - positional choices in viewing area of tY_e :television receiver, or to provide the user with the ability to choose a different position for information displayed different operating modes.
One of the novel features of the disclosed invention is the taxtfit 5,wt2r.. The preferred anborir.er_t of the te=_ fit system includes an inteta-tive compuLe_ program used to edit the program listings data before it in trar,s--imted to the user and stored in memory. The interactive syst- op4F--rates as follows:
unedited (or prYtially edited) pro.g'ram listings information is loaded into data a processor. The daza ir~cludes program titles, program schedule times, duration, categorf, as well zs additional descriptive information dependent on the type of program. For example, for movies the data inc?udes tha 2MAA rating, year cf the movie, whether it is in black ar:d white, and a list of sta-zring actors and actresses.
Ti:e data processor extracts on:.y t_he program title data which includes television program titles aS well as movie ti_les, sporting events and titles for other special events. Based on the duration of the program, the data processor first analyzes the listings data to determine what grid size listir.gs are neaded for each title. Thus, a two hour movie 'could require four different edited titles to fit into each of the four different size grid cells (30, 60, 90, 120 minutes). The data processor then determines how much space is required to display the title based on its character length; If the title is to be displayed in the program schedule grid using a proportional font and character to 10 character kerning, the data processor may also account for these A

factors in determining the space required to display a title. The determination would than be based on the number r=f pixels required for the particular combination ol' characters in the title. The amount of space available for display of a title depends on the size of the grid cell and the space required for display of icons, when activated.
If the data processor determines that a full title requires too much space to fit into one or more grid cells, the title is then presented to the editor using a suitable display device connected to the data processor, such as a CRT. The editor is then queried to alter the title so that it will fit in the allotted space. If the title must be edited for more than one cell size, the cditor is queried to edit each of these separately.
In the preferred embodiment of the interactive program, the editor is shown in real time whether the edited title will fit in the designated grid cell.
In the preferred embodiment, two lines of text are displayed in each grid cell of the program listings. The title, as edited, appears on the first line, and if necessary, continues onto the second line. The decision to wrap-around to the second line is based on w;.ether natural breaks exist in the title such as spaces between words, commas, periods, hyphens, etc. These are standard techniques used in word processing software routines.
The editor may also be v_uer?ed to edit a title in the situation where the full title will fit on the allotted two lines, but a hyphen is required because there are no natural breaks in the title.
Prior to querying the editor to shorten a title, the data processor compares the title with a stored library of 5 shortened titles to determine if the title had previou,ly bean shortened while editing another listings database. Each time changes are made by the editor to a title, the shortened title is added to the library. It is apparent that this process of building a library of shortened titles greatly reduces the manual 10 input required.
A flow chart illustrating the process by which the text fit system operates is shown in Fig. 42. The chart illustrates the operation of editing a listing for display in a program grid for a single platform, hut operation is the same for all 15 platforms.
Text editing may be necessary in other situations besides that where multiple size grid cells are used -for display of the same title. For example, the disclosed program guide nay run on several different platforms, with each one having different 20 constrai^*-s and grid cell space availability. Some may not display the text in proportional fonts dnd some may have other limitations reducing the available sprce. Thus, in the preferred embodiment the interactive program woald request edits for all platforms for which they requir:-d at the same time. In additior.
25 editing of text may be recp:ired for display aodes other than a grid of program listings. For example, in the "Listings by Channel" display of Yig. 20, prcgrams are listed on an entire, fixed-length lir_e, but the length of the line may vary from platform to platform, so that the text fit system may be employed .33 for the purpose of editing listings for the different platforms in this display mode as well. The space ava{lable for the display of text will also depend on how much Fpace is reserved for icon display. The same process as that shown in fig. 42 would apply, exceot that there would be no nt:ed to determine what grid sizes are needed because a fixed lengLh line is used for display rather than multiple sized grid cells.
It will be apparent to those of skill in the art that the disclosed text fit system has applications beyond that of title editing alone. The system may be easily modified to provide editing of nessages, "i" screen stor}1lines, pay-per-view promotional copy, and Eimilar text messages so t_*:at they will fit into tthe desi.;.:_ced space 4va11<1L+1C 2or display of the text. In fact, the system may be used to edit any text for display in the disclosed program schedule system.
The computer program for the microcontroller 16 may also include a schadule for the display of varying background views upon which the program schedule informatioii is overlaid either partially or in a full screen display. The background views may be stored as bit maps in memory or in another storage medium, such as an optical storage device. For example, the microcontroller 15 m.y be programmed to issue a command to the VDG every morning at 6:00 AM to display a sunrise in the backaround. The backgrou:.d may then be changed accoiuingiy throughout the day to, for e.3cample, a blue sky or a nighttime view. It also naf vary, e.g., bv time of day, day of week, month, year or season. The mood background also could change depending on ttie particular category of programming treat the user is watching or to which selected schedule information pertains. The mood background also may be adapted to display scenes that reflect the particular viewing area in which the )16e7' is eituated, like the Rocky Mountains, or M*_.
F<ainier, etc. It also may b= possible to display standard scenes, z>>cn as an ocean or forest scene. Moreover, the audio background also could he adjusted to relate to the particular mood background :0 then being displayed= In addition, different backgrcur~d views may be used,f'or holidaya and spec:rl events, such as Christmas, Fourth of July, Suparbowl Sunday, etc. The purpose of the background views is to he1D ease the monotony of viewing progrLm listings.
The micrccontroller 16 could be adapted automatically to 15 coordinate the display of th4 mood background. The user also could be given the ability to choose from among various mood background displays by adapting the microcontroller to display ar.
appropriate mood option menu that lists the mood background options available to the user and allows the user to select one or aore by manipulating the selection cursor. Access to such a mood option menu cou'Ld_ be achieved by supplying an apprcp=riate identifies, textual or visual, in an appropriate menu of the system, such as the LOCATOR or SETUP screen.
Additionally, the electronic program guide coulad bp lo c:.nfigured to store a unique digital identifier for each progra:.l along wir..h its schedule information and later use the identifier -- e_g., by transmitting i-t -- to indicate to a recording or storage device, such as a video recorder, that the user wishes to record the program. The program guide could also use the identifier to automatically control operation of the video recorder. The electronic program guide could also be configured to use other stored schedule information for this purpose.
The form and content of a narticul-ar computer progran to ir.Lplement the invention disclosed herein will be readily appare_.*_ to those skilled in the art of video system programning and graphic display. A flow chart showing the operation logic of the system is shown in Fig. 36. It will also be appreciated by those skilled in the art that there can be departure from t1:e specific embodiment of the invention described herein without departing from the t.rti:e sccpe of the claims appended hereto.

Claims (64)

What is claimed is:
1. A method for using an electronic program guide to restrict access to program schedule information, the method comprising:
providing a user with the ability to set parental control options; and restricting the ability to view program schedule information based on the parental control options, wherein restricted program schedule information is capable of being viewed when a code is received from the user.
2. The method of claim 1 wherein restricting the ability to view program schedule information based on the parental control options comprises restricting the ability to view program schedule information based on at least one record field in a schedule information database.
3. The method of claim 2 wherein restricting the ability to view program schedule information based on at least one record field in the schedule information database comprises restricting the ability to view program schedule information based on at least one record field associated with channel identifier information in the schedule information database.
4. The method of claim 2 wherein restricting the ability to view program schedule information based on at least one record field in the schedule information database comprises restricting the ability to view program schedule information based on at least one record field associated with rating information in the schedule information database.
5. The method of claim 2 wherein restricting the ability to view program schedule information based on at least one record field in the schedule information database comprises restricting the ability to view program schedule information based on at least one record field associated with title information in the schedule information database.
6. The method of claim 1 wherein restricting the ability to view program schedule information based on the parental control options comprises restricting the ability to view program schedule information based on at least one code transmitted with a program signal.
7. The method of claim 6 wherein restricting the ability to view program schedule information based on at least one code transmitted with a program signal comprises restricting the ability to view program schedule information based on at least one code associated with channel identifier information transmitted with a program signal.
8. The method of claim 6 wherein restricting the ability to view program schedule information based on at least one code transmitted with a program signal comprises restricting the ability to view program schedule information based on at least one code associated with rating information transmitted with a program signal.
9. The method of claim 6 wherein restricting the ability to view program schedule information based on at least one code transmitted with a program signal comprises restricting the ability to view program schedule information based on at least one code associated with title information transmitted with a program signal.
10. The method of claim 1 further comprising restricting the ability to access television programming based on the parental control options.
11. The method of claim 1 further comprising providing the user with the ability to activate the parental control options.
12. The method of claim 1 further comprising providing the user with the ability to deactivate the parental control options.
13. The method of claim 1 wherein providing the user with the ability to set parental control options comprises providing the user with the ability to indicate channels to which access is to be restricted.
14. The method of claim 1 wherein providing the user with the ability to set parental control options comprises providing the user with the ability to indicate ratings of television programs to which access is to be restricted.
15. The method of claim 1 wherein providing the user with the ability to set parental control options comprises providing the user with the ability to indicate television program titles to which access is to be restricted.
16. The method of claim 1 further comprising unrestricting the ability to view the program schedule information that is restricted based on the parental control options by providing the user with the ability to submit a valid lockout code.
17. A system that implements an electronic program guide that restricts access to program schedule information, the system comprising:

means for providing a user with the ability to set parental control options;
and means for restricting the ability to view program schedule information based on the parental control options, wherein restricted program schedule information is capable of being viewed when a code is received from the user.
18. The system of claim 17 wherein the means for restricting the ability to view program schedule information based on the parental control options comprises means for restricting the ability to view program schedule information based on at least one record field in a schedule information database.
19. The system of claim 18 wherein the means for restricting the ability to view program schedule information based on at least one record field in the schedule information database comprises means for restricting the ability to view program schedule information based on at least one record field associated with channel identifier information in a schedule information database.
20. The system of claim 18 wherein the means for restricting the ability to view program schedule information based on at least one record field in the schedule information database comprises means for restricting the ability to view program schedule information based on at least one record field associated with rating information in a schedule information database.
21. The system of claim 18 wherein the means for restricting the ability to view program schedule information based on at least one record field in the schedule information database comprises means for restricting the ability to view program schedule information based on at least one record field associated with title information in a schedule information database.
22. The system of claim 17 wherein the means for restricting the ability to view program schedule information based on the parental control options comprises means for restricting the ability to view program schedule information based on at least one code transmitted with a program signal.
23. The system of claim 22 wherein the means for restricting the ability to view program schedule information based on at least one code transmitted with a program signal comprises means for restricting the ability to view program schedule information based on at least one code associated with channel identifier information transmitted with a program signal.
24. The system of claim 22 wherein the means for restricting the ability to view program schedule information based on at least one code transmitted with a program signal comprises means for restricting the ability to view program schedule information based on at least one code associated with rating information transmitted with a program signal.
25. The system of claim 22 wherein the means for restricting the ability to view program schedule information based on at least one code transmitted with a program signal comprises means for restricting the ability to view program schedule information based on at least one code associated with title information transmitted with a program signal.
26. The system of claim 17 further comprising means for restricting the ability to access television programming based on the parental control options.
27. The system of claim 17 further comprising means for providing the user with the ability to activate the parental control options.
28. The system of claim 17 further comprising means for providing the user with the ability to deactivate the parental control options.
29. The system of claim 17 wherein the means for providing the user with the ability to set parental control options comprises means for providing the user with the ability to indicate channels to which access is to be restricted.
30. The system of claim 17 wherein the means for providing the user with the ability to set parental control options comprises means for providing the user with the ability to indicate ratings of television programs to which access is to be restricted.
31. The system of claim 17 wherein the means for providing the user with the ability to set parental control options comprises means for providing the user with the ability to indicate television program titles to which access is to be restricted.
32. The system of claim 17 further comprising means for unrestricting the ability to view the program schedule information that is restricted based on the parental control options by providing the user with the ability to submit a valid lockout code.
33. A system that implements an electronic program guide that restricts access to program schedule information, the system comprising user television equipment configured to:
provide a user with the ability to set parental control options; and restrict the ability to view program schedule information based on the parental control options, wherein restricted program schedule information is capable of being viewed when a code is received from the user.
34. The system of claim 33 wherein the user television equipment is further configured to restrict the ability to view program schedule information based on at least one record field in a schedule information database.
35. The system of claim 34 wherein the at least one record field comprises at least one record field associated with channel identifier information.
36. The system of claim 34 wherein the at least one record field comprises at least one record field associated with rating information.
37. The system of claim 34 wherein the at least one record field comprises at least one record field associated with title information.
38. The system of claim 33 wherein the user television equipment is further configured to restrict the ability to view program schedule information based on at least one code transmitted with a program signal.
39. The system of claim 38 wherein the at least one code comprises at least one code associated with channel identifier information.
40. The system of claim 38 wherein the at least one code comprises at least one code associated with rating information.
41. The system of claim 38 wherein the at least one code comprises at least one code associated with title information.
42. The system of claim 33 wherein the user television equipment is further configured to restrict the ability to access television programming based on the parental control options.
43. The system of claim 33 wherein the user television equipment is further configured to provide the user with the ability to activate the parental control options.
44. The system of claim 33 wherein the user television equipment is further configured to provide the user with the ability to deactivate the parental control options.
45. The system of claim 33 wherein the parental control options comprise an ability to indicate to channels to which access is to be restricted.
46. The system of claim 33 wherein the parental control options comprise comprises an ability to indicate ratings of television programs to which access is to be restricted.
47. The system of claim 33 wherein the parental control options comprise an ability to indicate television program titles to which access is to be restricted.
48. The system of claim 33 wherein the user television equipment is further configured to unrestrict the ability to view the program schedule information that is restricted based on the parental control options by providing the user with the ability to submit a valid lockout code.
49. Machine-readable media for use in a system in which an electronic program guide that restricts access to program schedule information is implemented on user television equipment, wherein the media is encoded with machine-readable instructions for performing the method comprising:
providing a user with the ability to set parental control options; and restricting the ability to view program schedule information based on the parental control options, wherein restricted program schedule information is capable of being viewed when a code is received from the user.
50. The machine-readable media of claim 49 wherein restricting the ability to view program schedule information based on the parental control options comprises restricting the ability to view program schedule information based on at least one record field in a schedule information database.
51. The machine-readable media of claim 50 wherein restricting the ability to view program schedule information based on at least one record field in the schedule information database comprises restricting the ability to view program schedule information based on at least one record field associated with channel identifier information in a schedule information database.
52. The machine-readable media of claim 50 wherein restricting the ability to view program schedule information based on at least one record field in the schedule information database comprises restricting the ability to view program schedule information based on at least one record field associated with rating information in a schedule information database.
53. The machine-readable media of claim 50 wherein restricting the ability to view program schedule information based on at least one record field in the schedule information database comprises restricting the ability to view program schedule information based on at least one record field associated with title information in a schedule information database.
54. The machine-readable media of claim 49 wherein restricting the ability to view program schedule information based on the parental control options comprises restricting the ability to view program schedule information based on at least one code transmitted with a program signal.
55. The machine-readable media of claim 54 wherein restricting the ability to view program schedule information based on at least one code transmitted with a program signal comprises restricting the ability to view program schedule information based on at least one code associated with channel identifier information transmitted with a program signal.
56. The machine-readable media of claim 54 wherein restricting the ability to view program schedule information based on at least one code transmitted with a program signal comprises restricting the ability to view program schedule information based on at least one code associated with rating information transmitted with a program signal.
57. The machine-readable media of claim 54 wherein restricting the ability to view program schedule information based on at least one code transmitted with a program signal comprises restricting the ability to view program schedule information based on at least one code associated with title information transmitted with a program signal.
58. The machine-readable media of claim 49 further encoded with machine-readable instructions for restricting the ability to access television programming based on the parental control options.
59. The machine-readable media of claim 49 further encoded with machine-readable instructions for providing the user with the ability to activate the parental control options.
60. The machine-readable media of claim 49 further encoded with machine-readable instructions for providing the user with the ability to deactivate the parental control options.
61. The machine-readable media of claim 49 wherein providing the user with the ability to set parental control options comprises providing the user with the ability to indicate channels to which access is to be restricted.
62. The machine-readable media of claim 49 wherein providing the user with the ability to set parental control options comprises providing the user with the ability to indicate ratings of television programs to which access is to be restricted.
63. The machine-readable media of claim 49 wherein providing the user with the ability to set parental control options comprises providing the user with the ability to indicate television program titles to which access is to be restricted.
64. The machine-readable media of claim 49 further encoded with machine-readable instructions for unrestricting the ability to view the program schedule information that is restricted based on the parental control options by providing the user with the ability to submit a valid lockout code.
CA002548637A 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method Expired - Lifetime CA2548637C (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA2662685A CA2662685C (en) 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method
CA2662691A CA2662691C (en) 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method
CA2662689A CA2662689C (en) 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002363052A CA2363052C (en) 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CA002363052A Division CA2363052C (en) 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CA2662689A Division CA2662689C (en) 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method
CA2662685A Division CA2662685C (en) 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method
CA2662691A Division CA2662691C (en) 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method

Publications (2)

Publication Number Publication Date
CA2548637A1 CA2548637A1 (en) 1995-11-30
CA2548637C true CA2548637C (en) 2009-07-14

Family

ID=36791554

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002548637A Expired - Lifetime CA2548637C (en) 1994-05-20 1994-05-20 Improved electronic television program schedule guide system and method

Country Status (1)

Country Link
CA (1) CA2548637C (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8272011B2 (en) 1996-12-19 2012-09-18 Index Systems, Inc. Method and system for displaying advertisements between schedule listings
US8776125B2 (en) 1996-05-03 2014-07-08 Starsight Telecast Inc. Method and system for displaying advertisements in an electronic program guide
US8832742B2 (en) 2006-10-06 2014-09-09 United Video Properties, Inc. Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications
US9113107B2 (en) 2005-11-08 2015-08-18 Rovi Guides, Inc. Interactive advertising and program promotion in an interactive television system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776125B2 (en) 1996-05-03 2014-07-08 Starsight Telecast Inc. Method and system for displaying advertisements in an electronic program guide
US8869204B2 (en) 1996-05-03 2014-10-21 Starsight Telecast, Inc. Method and system for displaying advertisements in an electronic program guide
US8272011B2 (en) 1996-12-19 2012-09-18 Index Systems, Inc. Method and system for displaying advertisements between schedule listings
US9113107B2 (en) 2005-11-08 2015-08-18 Rovi Guides, Inc. Interactive advertising and program promotion in an interactive television system
US8832742B2 (en) 2006-10-06 2014-09-09 United Video Properties, Inc. Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications
US9215504B2 (en) 2006-10-06 2015-12-15 Rovi Guides, Inc. Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications

Also Published As

Publication number Publication date
CA2548637A1 (en) 1995-11-30

Similar Documents

Publication Publication Date Title
EP2282534B1 (en) Improved electronic televison program schedule guide system and method
US5781246A (en) Electronic television program guide schedule system and method
EP0806112B1 (en) Electronic television program guide schedule system and method with display and search of program with alphabetical title listings
US6396546B1 (en) Electronic television program guide schedule system and method
CA2223018C (en) Electronic television program guide schedule system and method including virtual channels
AU2005234652A1 (en) Improved electronic television program schedule guide system and method
CA2548637C (en) Improved electronic television program schedule guide system and method
CA2662685C (en) Improved electronic television program schedule guide system and method
AU730507B2 (en) Improved electronic television program schedule guide system and method
AU3338901A (en) Improved electronic television program schedule guide system and method

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20140520