SYSTEM AND METHOD FOR TAILORING TELEVISION AND/OR ELECTRONIC PROGRAM GUIDE FEATURES, SUCH AS ADVERTISING

Abstract: A smart agent (SA) is provided which resides locally in a local client device and by iterative means integrates the habit, statistics and psycho-demographic information of a user to infer the user's preferences. The SA may also utilize the preferences to filter information delivered to the local device. The invention further discloses a means of collecting, combining, integrating and inferring information from the user to arrive at a psycho-demographic profile of the user, and a means of utilizing such psycho-demographic profile to select or filter information delivered to the user, thereby achieving targeting. The invention also discloses a means of classifying and identifying the information delivered so that it can be matched, filtered or selected. The invention uses the information from the psycho-demographic database to provide supplemental information for each program for which such psycho-demographic information is available.

Description: SYSTEM AND METHOD FOR TAILORING TELEVISION AND/OR ELECTRONIC PROGRAM GUIDE FEATURES , SUCH AS ADVERTISING BACKGROUND OF THE INVENTION This invention relates to targeting information to consumers and more particularly, to automatically, using statistical methods and psycho-demographic data generate a user profile to be used for targeting information to the consumer represented by the user profile. An important objective in broadcasting content or advertisement is targeting. Targeting generally refers to the ability to delivering audio, video, textual or other information of interest to the recipient. For example, delivering a sporting program or a sports-related advertisement to a sports fan through a television receiver, an Internet terminal or other video or audio devices. Targeting is of increasing important due to the increase in content and cost of content, and the increasing need to maximize impact of any information delivered on the recipient. Targeting also helps to avert certain negative reaction to advertising material. Recipients of advertising tend to react negatively to advertising material they have no interest in, and welcome those which they are interested in. Delivering target advertising not only enhances impact, but reduces the risk of negative reaction. In order to target effectively, information on the preferences of the recipient is required. One conventional approach is to request voluntary disclosure of such information by using questionnaire and other similar communicative means. The drawbacks here are high cost of the process and low response rate, the latter resulting in incomplete coverage and therefore poor statistics. Another conventional approach is to collect such information automatically and without express consent, for example, certain digital cable boxes with two-way communication capabilities may record the television viewing habits of the viewer and automatically forward the information to a central data processing center for targeting purposes. The major drawback here is privacy concerns, which may lead to the outright ban of centralized data mining practices. International Application No. PCT/US95/1 1 173 (International Publication No. WO 96/07270), the disclosure of which is incorporated by reference herein for all purposes, illustrates an EPG that provides viewer-to-EPG interaction and provides Picture-In-Guide ("PIG") display of the television program simultaneous with the display of the EPG. U.S. Application No. 09/120,488, the disclosure of which is incorporated by reference herein for all purposes, illustrates further improvements to an EPG. Multiple advertising "windows" in the EPG are disclosed in U.S. Application No. 09/120,488 These ad windows are referred to as "panel ads." Also disclosed in that application are "channel ads" which are advertisements, typically, although not necessarily, for future-scheduled television programs. The ad windows and channel ads as described in U.S. Application No. 09/120,488 are displayed when the television viewer enters the EPG mode and views the EPG displayed on the viewer's television monitor. Also disclosed in U.S. Application No. 09/120,488 are systems and methods for collecting viewer information and for developing viewer profiles. U.S. Application No. 09/120,488 further discloses using viewer profile information to customize advertising displayed by the EPG. SUMMARY OF THE INVENTION According to one aspect of the invention, a form of smart agent (SA) is provided which resides locally in a local client device and by iterative means integrates the habit, statistics and psycho-demographic information of a user to infer the user's preferences and accordingly determine a user profile. The SA may also utilize the user profile to filter information delivered to the local device. The invention further discloses a means of collecting, combining, integrating and inferring information from the user to arrive at a psycho-demographic profile of the user, and a means of utilizing such psycho-demographic profile to select or filter information delivered to the user, thereby achieving targeting. The invention also discloses a means of classifying and identifying the information delivered so that it can be matched, filtered or selected. The present invention contemplates the information collection process to be automatic, and therefore the process does not incur cost or require effort. The invention also contemplates that the information as well as the conclusion reside in a device local to the user (unless otherwise decided by the user) so that the privacy concern is eliminated. The user profile file may be a secured file stored in the local device. According to one aspect of the invention, content and advertisements are targeted to a user connected to Internet through an Internet terminal, such as a television receiver, a computer, a wireless electronic device, and the like. Use of the Internet, such as types of websites visited (and how often), types of contents downloaded, products purchased, and the like, is monitored and the monitored data is iteratively integrated with statistical data and psycho-demographic profile of the Internet user to develop a user profile based on the user's selections, statistical data and psycho-demographic information. Content or advertisements are transmitted to the user based on the user profile using e-mail, Java™ applets, push technologies, or other types of selective transmission means. According to another aspect of the invention, content and advertisements are targeted to television viewers that have a television receiver and a television screen. An electronic programming guide (EPG) is displayed on the television screen. Use of the receiver and/or the EPG is monitored and the monitored data is iteratively integrated with statistical data and psycho- demographic profile of the television viewer to develop a viewer profile based on the viewer selections, statistical data and psycho-demographic information. A plurality of advertisements are transmitted to the receiver. Fewer than all the transmitted advertisements are selectively displayed on the screen to match based on the viewer profile. Preferably, the stored advertisements are displayed on the screen simultaneously with the EPG. According to one aspect, the present invention provides systems and methods by which the presentation of the EPG, including but not limited to such features as advertising and the display format of the EPG itself, can be tailored according to each particular viewer's profile. Individual viewer profile information is collected at the individual viewer's EPG. Viewer profile matching criteria is also identified at the EPG provider level. The purpose of identifying viewer profile matching criteria is so that information can be targeted to viewer's with a particular profile or with a profile that fits within a larger profile. As opposed to earlier EPG systems that relied solely on complex applications software stored in the remote television system, the present invention stores at least a core operating system that is capable of processing many different types of data, including instructions, called "packets." The data and instruction packets are usable by the EPG system to tailor everything from setup to display according to the particular viewer's profile. BRIEF DESCRIPTION OF THE DRAWINGS The objects, advantages and features of this invention will become more apparent from a consideration of the following detailed description and the drawings in which: FIG. 1A illustrates a flow diagram of one embodiment of the present invention; FIG. IB is a schematic block diagram of a television transmitter for practicing the invention; FIG. 2 illustrates advertisements telecast by the transmitter of FIG. 1; FIG. 3 is a schematic block diagram of a television receiver for practicing the invention; FIG. 4 illustrates a typical EPG screen on a televison monitor at the receiver of FIG. 3; FIGS. 5 to 8 illustrate the organization of a typical EPG data base; FIG. 9 illustrates an interactive television schedule system incorporating a cable system; FIG. 10 illustrates an arrangement for providing schedule information to a television system; FIG. 1 1 illustrates a system and method for accessing information at a network file server; FIG. 12 illustrates a system and method for user interaction with advertisers and program sponsors; FIG. 13 illustrates a display including an exemplary graphical icon identifying that a data address site is available with the displayed television program; and FIG. 14 illustrates a display of Internet data simultaneous with a television program display according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION Without limiting the generality of the inventive concept, and for illustrative purposes only, the detailed description provided herein is directed to an interactive EPG for television shows which has the capability of displaying advertising, and/or providing services such as Internet browsing and search and interactive news or sports. FIG. 1 A is a flow diagram of one embodiment of the present invention. A shown in block 2, viewing habits or Internet site visits of a user is collected by a local electronic unit such as a television receiver, a set top box, a PC/TV, or the like, containing an EPG. Based on statistical methods a psychological profile of the user is constructed. The collected data is integrated in block 3 with statistical data of block 4 and psycho-demographic data of block 5 to infer the user profile, as shown in block 6. This psychological profile is comprised of a number of relevant character traits or "elements", for example, whether or not a person is a "football fan", defined, for example, as one who would definitely enjoy watching or reading about football games. Since the information collected is largely inferential and not definitive, it is not possible to answer a definite Yes or No, but rather, a probability that the answer is Yes. Thus, the fact that a person X views a certain number of football programs or visits a certain number of websites about football programs will result in a certain probability that the person is a "football fan". The more the person watches football games, the higher certainty that he or she is a football fan. In fact, the certainty may increase even if the person watches some soccer games. As more information on a given element, the probability of this Approximate Person X should approach the real character of Person X with regards to this element. The advantage of using such a probability- based psychological profile ("PBPP"), rather than a deterministic profile, is that it reflects the reality of a personality trait. There is no definiteness to a personality trait. Whether a person is a football fan or not is largely relative - relative to others, and relative to his other interests. Thus the probability model is better capable of handling the three inherent uncertainties in any such information collection process: (a) uncertainty in the definition, (b) uncertainty in the quality of information, and (c) sampling uncertainties. This probability information may be combined with certain deterministic information such as the zip code of the user. However, the inference of this geographic information (whether it is an affluent neighborhood or not, for example), would be probabilistic in nature. The PBPP profile can be used to select the type of information (such as the type of advertising, or the type of video programming) to be provided or suggested to the user. Through the use of the PBPP, the likelihood of providing information of interest to the user is increased ("targeting"). Since this profile can be constructed with a simple set of rules and therefore can reside in the local unit (such as the television containing an EPG) without centralized processing or control, and unless the user expressly agrees to, it is not transmitted to any central processing units, it can be made to fully comply with any privacy requirements prohibiting central data mining. Nothing in this disclosure, however, confines the implementation to a local unit. Local, client-server, or ful 1 central processing configurations are all possible. The collection of viewing habit and Internet site visits is achieved by a click stream recorder which records the programs viewed (or website visited) and the duration of viewing of each program (website). This information is stored in a memory for a certain time duration, and at the same time, used to repeatedly reinforce a probability-based psychological profile of the viewer. The raw information is then erased on a periodic basis, but when expressly agreed to by the user, may be transmitted back to a central processing unit. Additional information that may be available for the construction of a PBPP include geographic, information such as zip code (needed to establish channel line up and therefore available), information on the cost of the television or computer such as specific model information (available), information on gender and age (optional), number of members in the household (optional) and any other relevant information. The PBPP, together with other information (including user-controlled information), may be used to filter the information to be targeted to the user. In general, it is contemplated that the unit used by the user will have access to more information that will be provided to the user. The Filter Execution is a process whereby the PBPP and other information will be used to determine the specific information actually to be provided to the user. This is achieved generally by a probabilistic matched filter process whereby the "highest matched" set of information is passed through (the set of information with the highest "score" in a pre-defined formula encompassing the user characteristic (PBPP and other information) and the information characteristic (dependent on the information provider and objective designation)). Nothing in this disclosure precludes the use of alternative filtering methods, or the use of other filtering methods in conjunction. Other filtering methods may include absolute prohibitive filters (no information of a certain sort will be passed through), absolute selective filters (all information of a certain sort will be passed through), balancing filters (information of different categories should be presented in a "mix" consistent with the user PBPP), and the like. The following is an illustration of a simple PBPP directed to a television viewer. It is customary for most television program provider (including networks, cable service providers, syndicators, etc.) to have a target viewer profile for each program aired (which includes gender, age, income level, educational and ethnic background, and general interest; for example, a sports talk show may target male; 35-40, medium income, high school graduate, white, sports fan as the primary target group, and male, 12-18, low income, high school student, all races, sports fan as the secondary target group etc.). Due to the need of the industry, a show is almost always associated with such a viewer profile for each unique characteristic segment. The PBPP is comprised of a set of "elements". An example of an element is the gender. Another example is the age. Yet another example is the income bracket. A desirable, but not required, characteristic of the elements of the PBPP is that their partitions do not overlap. In mathematical terms, it is preferred for the elements to be spanned by subsets which are non- overlapping. This characteristic makes it easier to extract information from the PBPP, or to combine the PBPP with other characteristics to provide additional information. All of the examples above are such non-overlapping subsets. Some relevant elements, however, are much more difficult to be non-overlapping. For example, the element of show preferences is not easily ordered and cannot be spanned by non-overlapping subsets. The fact that one person is a sports fan does not mean he or she is not also a romantic movie viewer. However, a simple way of partitioning is to break the show preference element into a number of sub-elements, each having non-overlapping spanning subsets. For example, instead of having show preference as an element, it is broken down to "Sport Preference" which has the subset Yes or No. The following is an example of a PBPP for a person. PBPP (X)={p[Ei (X)]} where Ei (x) is the ith "element" of the character trait of a real person X, and p[Ei (X)] is the probability that the Approximate Person X having a specific character trait. The "element" Ei may be a binary element (either Yes or No), or a multiple-outcome-element (such as age bracket) However, all multiple outcome elements can be converted into a number of binary elements. For example, the age bracket may be converted into a series of elements: Under 12- Yes or No; between 12 and 17- Yes or No, etc. Examples of Ei and their values include: 1. Gender M or F 2. Age Under 12, 12-17, 18-25, 26-35, 36-45, 45-55, 56 and above 3. Income bracket Under $25,000; $25,000 - $40,000 etc. 4. Sports fan Y or N 5. Romance fan Y or N 6. Smoker Y or N 7. Drinker Y or N 8. Car Buff Y or N 9. Fashion Buff Y or N 0. With children Y or N 1. With babies Y or N The probability p[Ei (X)] is therefore a number between 0% and 100% which expresses the likelihood that the Approximate Person X has a given Element. For example, if p[E4 (x)]=75%, that means there is a 75% likelihood that Approximate Person X is a sports fan. The PBPP of a person can therefore be built up by integrating information which provide inference on the character element of a person. The method of construction has the following properties: (a) it can handle incomplete information - information which merely shed light on one, but not all of the elements, a simple approach is to assign a probability of 50% to all elements which the information does not shed light on: (b) it is cumulative, that is, information received are integrated in a cumulative fashion, and unless otherwise required, the raw data can be discarded after integration, (c) it is weighted, that is, various rules can be assigned to give weight to a given piece of information relative to another to reflect its impact, (d) it is adaptive meaning such rules, and other rules of integration, can change along the process. There may be other properties which are described in context below. To construct the PBPP for Person X, the viewing habit of X is recorded. Suppose X views a Super Bowl game. Further suppose that ' Super Bowl has the following view statistics: Gender M (80%), F (20%) Age Under 12 (2%), 12-17 (12%), 18-25 (20%), 26-35 (25%), 36-45 (20%) etc. Income bracket A profile like above Sports fan Y Romantic Low incidence Smoker High incidence Drinker Very high incidence Car Buff High incidence Fashion Buff Low incidence With children Low incidence With babies Medium incidence Then, by watching the Super Bowl game, Person X receives a probabilistic profile "score" as follows: Gender M (80%), F (20%) Age Under 12 (2%), 12-17 (12%), 18-25 (20%), 26-35 (25%), 36-45 (20%) etc. Income bracket A profile like above Smoker Y 75% N 25% Drinker Y 85% N 15% Likes Sports Y 100% N 0% Likes Music Y 50% N 50% Type Classic 5% Blues 10% Rock 50% Pop 35% Likes Romance Y 25% N 75% Likes Technology Y 60% N 40% Likes Cars Y 75% N 25% Likes Fashion Y 10% N 90% Has children Y 50% N 50% Has babies Y 50% N 50% Note that 50% or Medium incidence in effect imparts no information, but may be useful to be retained for counting purposes. If Person X views another movie, he or she will receive another "score" (which may be different from the above "score"). More and more "scores" will be added to Person X as more and more shows that X watches is recorded. The PBPP is then computed as follows: PBPP(X)={εl , ε2, ε3, , εN) where εi={(l/n) ∑j Ei,j τj ωj, ...} Where i identifies the elements, and the summation is over j, which identifies the events. Ei,j is the j th event of the i th element, for example, the j th show viewed, providing information on the i th element, say, Gender; tj is the duration for which the "scoring" show is being watched, and ωj is a weighting function which can range from 0 to 1 in order to give weight or take away weight for a given show. In short, the PBPP of Person X is defined as a running average of the "scores" he or she receives, time weighted by the duration a show is being viewed, (and/or additionally weighted for consistency and other reasons). As the number of shows increase, more statistics is contained in the PBPP. The PBPP will become the "virtual personality" of Person X for the purpose of this concept. Clearly, the invention is not confined to the specific structure of PBPP. First, it is possible to introduce additional weighting factors to take into account other characteristics of a given show, such as the intensity of the show, the length of the show (so that the duration may be normalized by the length of the show), the day of the week, and other factors. Second, it is possible that the "score" may be a function of the number of same shows or "similar shows" watched; for example, if a person watches every episode of "Star Trek", the score of every successive Star Trek episode may be higher or lower (or first higher confirming that he is a science fiction fan; then lower - since many more additional episodes may be merely additive). Furthermore, the invention minimizes storage space by transforming viewing characteristics from raw data to PBPP in an "on the fly" mode. However, for the purpose of extracting additional information or allowing changes in the PBPP definition, nothing prevents the raw data to be stored for any duration. Nothing prevents portions of the raw data to be stored for any duration. Nothing prevents any intermediate results of processing of the raw data, or further compilation of the raw data beyond or beside the PBPP to be stored. In one embodiment, the invention encompasses the possibility that the PBPP may be changed, expanded, contracted, split, mapped or transformed into a new structure, when it is so determined that a new structure is more applicable. An example of the "splitting" of the PBPP to pursue a possibility that there are more than one viewer in a home is given below. There is a high probability that there is more than one viewer in the TV Household. The following concept can be used to help determine whether this is the case, and if so, the PBPP of each person. The general notion is to look for inconsistencies that suggests the existence of more than one PBPP. Certain shows carry a strong characteristic, and are not likely to viewed if another different show is being viewed. For example, it is unlikely that a Boxing Match is watched by the same person as watching a Disney movie (not impossible, but unlikely). When such unlikely event is encountered, the possibility of a second person in the TV household exists. In this case, a two new PBPP will be created. Preferably, the second PBPP is created by copying of the original PBPP, now assigned with new labels. PBPP - PBPP, PBPP 1 , PBPP2 When a threshold number of "inconsistencies" is recorded, the following "test" procedures will be followed: while continuing collecting scores for PBPP, a given score is separated into two consistent sets, one deposited into PBPP 1 , the other into PBPP2. The time-of-day of each deposit is now monitored. Ifover apre-determined "test period", the time-of-day of PBPP 1 deposits are bunched together (and similarly, PBPP2 deposits), then it supports the proposition that PBPP1 and PBPP2 are separate individuals, each with a dominant period of viewing. The virtual "characteristics" of the TV household is now comprised of PBPP, which is an overall average, PBPP1 (Ti), which is the first individual with dominant viewing time Ti, and PBPP (Tj), which is the second individual with dominant viewing times Tj . This information is used to help decide how to deliver customized data for individual 1 and individual 2 respectively. Alternatively, the triggering of multiple PBPP functions may be through user-provided information (through questionnaire or the use of more than one name in purchases, etc.). In a situation of limited choices, a person's selection may be strongly influenced by the existence or non-existence of other choices. Television video programming is a particularly good example - a person first decides that he wants to be entertained by the television, then tries to find out what video program is most interesting. In a given time period on a given day, there is only a finite number of video programs available for viewing. The fact that a person selects a science fiction movie, when all movie channels are showing science fiction movies, may not carry as much weight to infer that he is a science fiction movie fan than in a situation where he chooses the science fiction movie over many other genres of programming. This Limited Selection Inference factor can be integrated into the PBPP function construction through the weighting functions ωi. For example, to reflect this, ωi can be defined as v/N, where v is the number genres present as alternatives when a selection is made, and N is the total number of genres available (for example, during the viewing selection, only 3 types of movies are available, while in total there can be 12 genres, then the weighting function ωi is 3/12=0.25; if on the other hand, 10 out of 12 genres were present during the viewing selection, then the weighting function ωi is 10/12 or 0.84, a much higher weight). The PBPP may be integrated with external data when the latter becomes available. Deterministic data may be in the form of (a) user provided information (user declares his or her gender, age, income bracket, show preference etc.), (b) feed-back information (user makes purchases, votes, etc.), (c) inherent information (cost of unit, place of purchase - if known, geographic location - through zip code etc.), (d) and any other types of information that may be primary, secondary, through inference, as results of further research and development, or others. As pointed out earlier, even though the information is deterministic, when used to infer a character trait, it becomes probabilistic. Generally, but not always, the weight given to such information depends on its individual relevance and reliability. Certain external deterministic data may be given special treatment, such as the information that there are two or more users of the unit. This information is used to determine the number of PBPP functions that should be used for the unit. It is possible that a mode exists in which the user is given certain control over the spectrum of information he or she may receive. In this "high user selectability" mode, user provided information will be assigned a high degree of weighting in executing the filter (see below). In addition, the information provided by the user will be separately tagged, so that the final PBPP will itself comprise of two components (in this discussion context - there can be many other components in other contexts): PBPP=Σj {PBPPj (auto) + σj PBPPj (user-provided)} Here, PBPPj (auto) is the j th characteristic information (e.g., whether a person likes sports) developed by the statistical compilation of the viewing habit as described above, PBPPj is the same information as provided by the user (e.g. "I do not like sports" even though he or she watches sports quite often), and σj is a weighting function, σj may be increased or decreased under a variety of rules. First rule may be an external command in which the user selects full control. In which case σj is set to be very large. In this case, PBPP (auto) continues to be preserved because if the user one day de-selects control, σj will be set to very small and PBPP (auto) will take over. Second rule may be through comparison and confirmation of his self- provided information with the auto information, etc. There is an additional control which can be exercised in the Filter Execution to effect user selection, and that PBPP modification here is aimed at better understanding the characteristic of the user, while Filter Execution is aimed at shaping the response. In the case of potential Multiple Personalities, filter execution may be integrated with user selection within a certain time duration before the execution event. For example, if the Multiple Personalities include a Sports Fan and a Romantic Movie Fan, then the filter will switch to the Sports Fan profile if (a) the television has been tuned more to sporting events than romantic movies during a period before the access of the guide, (b) sporting events have been selected and dwelled upon longer than romantic movies, or (c) a weighted average of (a) and (b) indicates that the viewer is more likely to be a Sports Fan than a Romantic Movie Fan. In making such determination, the concept of Limited Selection Inference may be applied. In accordance with one aspect of the invention, coded advertising messages or graphics for display in panel advertisements or banner advertisements in the body of an EPG are created at a television broadcast transmitter, the headend of a cable network, or other television signal source. The codes identify the types or class of advertisements, e.g., sports equipment, clothing, automobiles, restaurants, etc. The advertisements are telecast with the television signal to user terminals that have television receivers, i.e., cable converters, VCRs, and television receivers. In FIG. IB, a broadcast television transmitter has a video source 10 that is coupled by a data inserter 12 to a radio frequency modulator (RF MOD) 14. A source 16 of advertisements in digital form is fed to data inserter 12 to embed the advertisements in a baseband television signal from source 10. If the television signal is analog, the advertisements are preferably embedded in its VBI. If the television signal is digital, the advertisements are preferably embedded in its digital video stream in packet form. RF MOD 14 up-converts the television signal and feeds the resulting RF signal to an antenna 16, which broadcasts the television signal to a plurality of television receivers. Alternatively, the advertisements could be inserted into the television signal of one or more channels at the headend of a cable or satellite system. FIG. 2 illustrates the advertisements embedded in the television signal as a function of time from left to right. Advertisements Al, A2, A3, ..., An-1, An are repeatedly transmitted, separated by intervals P in carousel fashion. The intervals P could range from zero to 24 hours. The codes that identify the types or classes of advertisements are carried by headers HI, H2, H3, ..., Hn-1, Hn, which precede the respective advertisements Al, A2, A3, ..., An-1, An. In FIG. 3, one of the plurality of receivers has an antenna 20 for intercepting the television signal with embedded advertisements. Antenna 20 is coupled by a radio frequency (RF) section 22 to a tuner 24, which selects the channel for reception. Tuner 24 is coupled by a demodulator (DEMOD) 26 to a data decoder 28, which recovers the advertisements from the television signal. If the television signal is analog, decoder 28 would conventionally be a VBI decoder. The recovered advertisements with their codes are transmitted to a microprocessor 30 on a bus 32. Commands are coupled by bus 32 from microprocessor 30 to tuner 24 to change channels at the desired times. The television signal is fed through decoder 28 to a video processor 34. Video processor 34 drives a television monitor 36. The images displayed on the screen of monitor 36, which are described below, are composed in video processor 34. Reference is made to PCT International Applications WO 96/07270 and WO 99/04561, published on March 7, 1996 and January 28, 1999, respectively, the disclosures of which are incorporated fully herein by reference for a description of video processor 30 including a PIP chip with which it functions. (The sound producing components of the receiver are not described in detail.) An advertisement memory 38, a profile memory 40, and an EPG data base memory 42 are coupled by bus 32 to microprocessor 30 for bilateral data exchange. Although they are depicted as separate components, two or more of memories 38, 40, and 42 could be incorporated into a single RAM chip for convenience. Data and commands are also coupled by bus 32 to video processor 34 for its operation. A viewer input device 44 such as an IR remote controller issues commands to microprocessor 44 to operate the described receiver. In FIG. 4, a typical EPG screen 50 generated by video processor 34 under control of microprocessor 30 is shown. Screen 50 is divided into a number of different display areas. A real time video area 52, a panel ad area 54, and a panel ad area 56 are arranged along the left side of screen 50. Video area 52 is typically produced by a PIP chip. A banner area 58 lies at the top of screen 10 adjacent to area 52. A program listing area 60 occupies the bottom two thirds of screen 50 to the right of areas 52, 54, and 56. Above area 60 lies a horizontally extending menu bar area 62 by which the viewer can select among a number of different functions. Between banner area 58 and menu bar area 62 lies a detail area 64. The use and operation of EPG screen 50 is described in PCT International Application WO 99/04561 , published on January 28, 1999, the disclosure of which is incorporated fully herein by reference. The EPG data base for generating the program listings displayed on screen 50 (FIG. 4) is stored in memory 42. This data base is updated regularly, in well known fashion, for example by new EPG data downloaded in the VBI of the television signal under the control of microprocessor 30. Microprocessor 30 could set tuner 24 to the channel that carries the EPG data base at a predetermined time and then coordinate the storage of the data in memory 42. FIG. 5 depicts an exemplary program schedule memory data base. Static area 70 contains among other items a pre-established time list. This structure will be described in greater detail below. Dynamic area 71 is used to store television program schedule data. This data takes the form of show information packages (SIPs) and extended theme show list entries. These structures are also described more fully below. Television program data is received in download packets. The download packets are sent over the VBI and received by microprocessor 30. A download packet contains television program schedule information along with routing data that enables the system to determine how to store the information in memory. FIG. 6 illustrates an exemplary download packet. The packet begins with a packet header containing packet ID number 72 used to distinguish this packet from other packets. The packet header also contains number of bytes 73 and number of blocks 74. These values are used to determine the size of the packet. The packet header is followed by the show information package (SIP) header. There is a show information package header for each show information package in the packet. The SIP header contains: guide number 75 used to determine the internal channel number of the data in the show information package; channel ID 76 used to determine the source of the data in the show information package; and time slot 77 used to designate the time and day of the data in the show information package. A show information package 78 follows the SIP header. Upon receipt, the system microprocessor extracts a show information package from the download packet and temporarily stores it in program schedule memory. The show information package contains a date field that is used to determine if the data is for the current day(today) or the next day (tomorrow). If the package falls within this two day window the system determines if the data is duplicate of existing data. The show information package contains a version number used to determine if the data is new or if it already exists in memory. If the data is new then it is stored and the address of the show information package is placed in the appropriate pointer in the pre-established time list. The pre-established time list will be explained more fully below. If the show information package is outside of the current two-day window (today and tomorrow)and the show information package contains programs that have theme information, those programs with theme information are pulled out of the show information package and placed in the appropriate extended theme show list. The extended theme show list is described more fully below. If the show information package is outside of the current two-day window and does not contain theme information, or if the show information package is duplicative of one that is already stored the entire show information package is discarded. Data in the program schedule memory is stored in data structures that enable the system to interpret the data. Several of the data structures are of fixed length and reside in the static area 70. Other data structures are of variable length and reside in the dynamic area 71. The fixed data structures include: the pre-established time list, the channel map, the control array, the call letter map, the memory map and the record queue. The variable data structures include: show information packages and extended theme show lists. The pre-established time list is used to locate television program information for each channel in the system. The pre-established time list only references program information that will be broadcast on the current day (today) or on the next day (tomorrow). The pre-established time list references data through the use of pointers which are pieces of data that contain addresses of desired data items. FIG. 7 illustrates the pre-established time list. The pre-established time list contains a set of twelve pointers 41 for each channel in the system. Each pointer corresponds to a show information package that contains data for a four hour block of television programming. For example, in FIG. 7, the pointer El corresponds to program data from four p.m. to eight p.m. Twelve pointers represent 24 hours of programming information for the current day and 24 hours of program information for the next day. Referring to FIG. 8, pointers A2 through L2 are used to represent the program data associated with the second channel in the system. Each pointer contains an address of a show information package of variable length containing actual television program data. When specific data is needed, microprocessor 30 first looks in the pre-established time list to secure the pointer, then uses the address found in that location to determine where the data is actually stored. For example, if data for the second channel in the system is needed for a television program between eight p.m. and twelve midnight the system will use the address in pointer F2 to determine the location of the show information package containing the data. Show information packages are variable length data structures that contain actual television program schedule data. Each show information package contains data for a four hour block of television programming for a specific channel. The show information package length is variable because the number of shows in each four hour block will depend on the durations of the individual shows. FIG. 8 depicts a show information package. A show information package contains the following: amount of memory - used to determine how much space was used to store the show information package and therefore, how much space is freed up after the show information package is no longer needed; control date - used to determine whether the data in a specific show information package is for the current day, the next day, or outside of the current two-day window; and version number used to specify the specific version of the program data.. Following these three fields is specific data for each show that fits within the four-hour time block. For a given show, represented by block 80, the following fields are present in the show information package: multiple show flag field - used to determine if this show is the last show within the package, or if there are other shows following to be processed; start time field - an offset from the start time of the four-hour block, this offset is added to the time of the four-hour block to determine the start time of the show; duration field - specifies the air time for the particular show; theme field - contains information on the type of show; for example, the show may be a sporting event, a news program, or a movie; CC field determines whether or not the show is closed captioned; stereo field - determines whether or not the show is broadcast in stereo; add-ons field - is a field left for expansion, this field will contain more information about the show as that information becomes standard in the art. Following these fields are fields representing program title, primary description - a short description of the program, secondary description - a longer description of the program and VCR+ PLUSCODE. Each of these items are represented by two fields, one containing the length of a specific item, such as title length, and one containing the item itself, such as title. Following this information is an end-of-show field. The end-of-show field is used to indicate that the information for that particular show is finished. A show information package may contain information for one or more shows depending on how many shows are broadcast within the four hour block. The presence of multiple shows is represented by 81 and 82. A show information package is structured so as to provide several unique features for storing data. The title length, primary description length, secondary description length and VCR+ PLUSCODE length fields can be expanded for values that are beyond the maximum value that can be stored within one byte. For example, referring to FIG. 8, if the secondary description length is greater than the maximum value that can be stored within one byte, the length byte is set to the maximum value. The system then assumes that the following byte is also a length byte and adds the two values to determine the length of the secondary description. In this way, a show information package can dynamically allocate space to accommodate longer descriptions or longer titles. The end-of-show field allows for the inclusion of data in the show information package that is not read by the current version of the system. As shown in FIG. 8, following the VCR+ PLUSCODE field, there are two fields of unspecified data. This is data which may be read by future versions of the system but is currently not processed by the current system. When processing show information package data the system will discard this data until it reads an end-of-show field. The system will not begin processing data for a new show until an end-of-show field is found. This feature allows the system to access the same data as a potential future version which may incorporate more data. At each user terminal, the usage of the user terminal, i.e. which programs are watched, how often, and for how long, or the usage of the EPG, i.e., which programs are selected for scheduling to record, to watch or to display more details, or which programs are highlighted with the cursor and how often, is monitored and processed by microprocessor 30 as part of creating the viewer profile as described above. In one embodiment, this profile is maintained, i.e., stored, in memory 40 as a secure file at each user terminal to preserve viewer privacy. Thus, unauthorized parties do not have access to the profile. In other words, the viewer profile cannot be uploaded to another location such as a service center, a headend, or an Internet website. Alternatively, only part of the user profile, namely, the privacy-sensitive part, e.g., the user name and other information, is retained as a secure file, and other commercially useful anonymous marketing information about usage is transmitted to a remote processing center via telephone line, pager, the Internet etc. for analysis. In addition to its normal function of providing the information to generate the displayed program listings, the EPG data base combined with other information and statistical data may also be used to generate the viewer profile at the viewer terminal as described above. As a result, the privacy of the data about viewer watching habits is not compromised by sending it to a remote location. By way of example, the microprocessor could monitor the setting of tuner 24 and keep a log of the time, day, and duration that the tuner is set at each channel and program category designators could be stored in the EPG data base as part of the information about each program. The actual programs or program titles or program category designators could be identified from the time, day, and duration of the tuner by use of the EPG data base resident in the user terminal. Each time tuner 24 is reset, the channel and time could be used by microprocessor 30 to access the show information package (SIP) for the program being telecast on the channel at that time via the time-channel table and the corresponding pointer. The category of the program used to generate the category program guides could be recovered from the SIP by microprocessor 30 for use in formulating the viewer profile. Each time tuner 24 is reset the time interval since the last tuner reset is used by microprocessor 30 with the category of the program telecast on that channel during the interval to generate an accumulated value of viewing time of programs in that category. Thus, memory 40 can tally all the viewing time of the categories in this way to be used in determining the viewer profile. If desired, specially tailored program categories different from those used to generate the category program guides could be stored in the SIPs and be used in combination with statistical data and psycho-demographic information to determine viewer profile, as described above. In the case of the data base structure described above, microprocessor 30 is programmed to obtain the pointer to the desired SIP from the pre-established time list based on time as read from a real time clock and channel as read from the tuner. Microprocessor 30 then reads the category from the SIP for the time and channel. Instead of monitoring tuner 24, the program categories could be transmitted in the VBI of each program itself in real time much as XDS or parental control ratings. However, this requires the cooperation of the television signal provider to accomplish. The profile determined at a user terminal is correlated with the transmitted advertisement codes in headers HI, H2, H3, ..., Hn-1, Hn, so microprocessor 30 can earmark the transmitted advertisements Al, A2, A3, ..., An-1, An-2 that would be of greatest interest to a person represented by the profile file based on statistical data and psycho-demographic information. More sophisticated correlation schemes such as that disclosed in application No. 60/110,301 could also be employed to correlate the targeted information to the user profile. To conserve local memory space, part of the processing could be performed at a central location, if privacy is not a concern. In the case of advertisement targeting, as an advertisement is received at a user terminal, its code is compared with the user profile. (In the simple correlation scheme described above, the advertisement code is directly compared with the code or codes of the profile.) If a match is detected, the advertisement is stored in memory 38 for later display in area 54 and/or 56 of the television screen in the EPG (FIG. 4). If the code of the advertisement indicates that the advertisement is not of interest, the advertisement is not stored in memory 38. This conserves memory space in the user terminal. Preferably, a number of advertisements so pinpointed to the user's interest, as reflected by the profile, are stored and and accessed in rotation for display in the EPG according to a prescribed schedule as described in application No. 60/141/331 , filed on June 28, 1999, the disclosure of which is incorporated herein fully by reference. Although it is preferable to transmit the advertisements and their codes with a television signal, they could alternatively be transmitted in a separate link, such as a pager channel or over the Internet. It is not the intention of the description to restrict the invention in any way or form to the EPG, but to use the EPG as an effective example. The video in the example may be any type of information, the guide may be any list or category of information, the advertising may be any form of promotion that may involve video and audio information as well as text and graphics. For example, should there be a "guide" for video tapes available in rental stores, the same principle can apply. Similarly, should there be a guide of products or services (such as catalogs for electronic commerce), the same principle can apply to target readers or audience. Furthermore, the invention is not limited to any particular hardware configuration and will have increased utility as new combinations of computers, television systems, communication devices, and the like are developed. In one embodiment, the present invention develops viewer profile matching criteria from a database of demographic and/or psycho-demographic information associated with each of certain television programs that will be delivered to the viewer. Such a database of demographic and/or psycho-demographic information can be developed by the EPG provider from information provided by individual program producers or other such sources. Alternatively, such a psycho- demographic database is purchased from a third party. As yet another alternative, such a psycho- demographic database is created using any number of different sources of relevant informatio as described above. The present invention uses the information from the psycho-demographic database to provide supplemental information for each program for which such psycho-demographic information is available. It is to be understood that reference herein to an EPG refers to an EPG system including but not limited to a microprocessor that is programmed to operate in a manner described herein. The supplemental psycho-demographic information is transmitted over the communication stream between the EPG provider and the viewer's EPG, as with, for instance, the vertical blanking interval ("VBI") of the program as the program is being transmitted. As an alternative, the supplemental psycho-demographic information for each program is transmitted over the communication stream as part of the information for each program that is communicated to describe the television program listing information from which the EPG on-screen guide is prepared. The EPG provides at least a core operating system stored in the memory of the individual television viewer's television system. According to one embodiment of the present invention, the EPG at the viewer's television receives and stores the supplemental program-level psycho-demographic information concerning certain television programs in the memory of the individual television viewer' s television system. The EPG creates matching criteria for the received program-level psycho-demographic information (which will be referred to as matching criteria "buckets"). The EPG collects information concerning the viewer's television watching habits and EPG operating habits. The collection of "bucket" statistics and the information collected by the EPG concerning the viewer's television watching habits and EPG operating habits is referred to as the "viewer profile". In addition to the program-level psycho-demographic information described above, psycho-demographic information can also be collected by the EPG in a database at a channel and/or network level. For instance, certain psycho-demographic information can be associated with viewers who watch a particular channel/ network, e.g., MTV. As another example, certain psycho-demographic information can be associated with viewers who watch ESPN. As with the program-level supplemental psycho-demographic information, the present invention provides for a database of channel/network-level supplemental psycho-demographic information. The present invention further provides that such information is delivered to the viewer's television system as packets of information, and/or included in channel/network-level packets as supplemental channel/network information. The data and instruction packets of information can be delivered to the viewer's television in a number of ways, including but not limited to: data transmitted through the Vertical Blanking Interval (the "VBI"), a link to the Internet, telephone connection to the television system, cable connection to the television system, and any other method of communicating with the television system. This disclosure refers to communication with the television through the Vertical Blanking Interval (the "VBI") as an exemplary method of communicating information to a television system. It should be understood that the VBI is only one of many methods of communicating with a television. For instance, in the digital television environment, bandwidth subchannels can be used to communicate information simultaneously with the transmission of the real time video and audio being delivered to the television. Likewise, computer networks such as the Internet can be used to communicate information simultaneously with the transmission of the real time video and audio being delivered to the television. It should be understood that the present invention applies equally to all methods of communication with a television and is not in any way limited to communication through the VBI. The present invention may be implemented on a personal computer, a PCTV, a television connected to a set-top box, a television including a microprocessor, or other such devices. However, the invention is not limited to any particular hardware configuration or to any particular television system and will have increased utility as new combinations of computers and television systems are developed. For instance, the invention is not limited to conventional analog television, and applies equally to digital television and computer configurations. According to the present invention, the EPG at the viewer's television receives and stores the supplemental psycho-demographic information concerning certain television channels and/or networks in the memory of the individual television viewer's television system. The EPG creates matching criteria for the received psycho-demographic channel, and/or network information. As mentioned above for the program-level buckets, channel and/or network information will be collected in what is referred to as channel and/or network matching criteria "buckets". The present invention uses the above-mentioned program-level and/or channel/network- level psycho-demographic information to target features of television programming and EPG display and operation, such as, for instance, advertising. When a viewer tunes to a television program, the EPG checks whether any supplemental program-level psycho-demographic information is available for the particular program being viewed. Similarly, the EPG checks whether any supplemental channel/network-level psycho- demographic information is available for the particular channel being tuned. In one embodiment, if program-level and/or channel/network-level psycho-demographic information for the particular program and/or channel being tuned is available, the EPG uses the information to update the matching criteria "buckets." For example, if the program tuned by the viewer is a football game, the EPG checks to see if there is any program-level and/or channel/network-level psycho-demographic information for that program. In our example, the football game is designated as, among other things, e.g. "football watcher." Accordingly, in our example, the EPG looks to see if there is a "football watcher" bucket. If no "football watcher" bucket exists, the EPG creates one. Once the "football watcher" bucket is created, or, if such a bucket already exists, the EPG increments the contents of the bucket. The particular examples of "bucket" identification used herein, such as the "football watcher" bucket described above, are meant as examples and are in no way a limitation of the invention. According to the invention, many different types and levels of buckets can be identified and used depending upon the targeting needs. According to the invention, the EPG updates one or more buckets for each viewer impression. That is, for example, the EPG can update a detailed "bucket," e.g., "football watcher" and a higher level "bucket," e.g., "sports watcher," when a viewer watches a football game. In one embodiment, "bucket" updates are not made unless the viewer continues to watch a particular program for a certain period of time. Consider as an example, an embodiment that requires that a viewer stay tuned to a particular channel for five minutes. Five minutes of time is given as an example, and is not in any way a limitation of this invention. In this example, when the viewer tunes to a new channel, if the viewer continues to stay tuned to the new channel for at least five minutes, then the EPG will use the program-level and/or channel/network-level psycho-demographic information associated with the particular program and/or channel/network being tuned in order to update corresponding buckets. On the other hand, if the viewer stays tuned to the particular channel/network for less than 5 minutes, the EPG will not attempt to locate the supplemental program-level and/or channel/network-level psycho-demographic information associated with the particular program and/or channel being tuned; nor will the EPG attempt to update any match-criteria buckets. In an embodiment that updates match-criteria buckets from the above-described program- level and/or channel/network-level psycho-demographic information, the EPG analyzes the statistics collected in the buckets before displaying advertisements. As mentioned above, an advertising-capable EPG displays advertisements in different ways, including Panel Ad Windows, and Channel Ads. According to one embodiment of the present invention, particular advertisements delivered by the head-end to the viewer will carry program-level and/or channel/network- level psycho-demographic information for matching purposes. Before the EPG displays advertisements as part of the EPG display, the present invention analyzes the statistics collected in the buckets in the memory of the television system. The EPG looks for a match between, or a close fit with, the program-level and/or channel/network-level psycho-demographic information associated with a particular advertisement and the psycho-demographic profile of the viewer as contained in the match-criteria buckets. As is explained further below, the way in which the EPG looks for a match/fit is determined by instructions carried in a data instruction packet transmitted to the EPG. The data instruction packet precedes the advertisement, is related to, or is attached to the advertisement. Consider further our "football watcher" example described above. In our example, an advertisement for a famous beer brand is delivered to the viewer's television. The advertisement carries supplemental information that indicates that the advertisement is targeted for, among other criteria, "football watchers." The EPG compares the advertisement supplemental information with the contents of the buckets that have been created and collected for the viewer. In our example, the EPG has previously created and incremented the "football watcher" bucket because the viewer had previously watched a football game. Therefore, in our example, the EPG encounters a "football watcher" bucket during its search of the viewer's match criteria buckets. Accordingly, the EPG selects the advertisement for display. In one embodiment, if there is no match between, or fit with, the advertisement's supplemental information and the EPG-collected match-criteria buckets, then the advertisement would not be selected for storage in memory at the viewer's television system. In another embodiment, every advertisement delivered to the viewer's television system is stored in memory; the comparison of matching criteria with matching criteria buckets is done, each time the EPG must display and/or change the display of advertisements. The comparison is performed, e.g., each time the viewer enters the EPG mode. The comparison is performed, e.g., each time the EPG is ready to rotate a new advertisement to a particular advertising display area on the viewer's display device. In one embodiment, the collection of information in the match-criteria buckets is only stored for the duration of time that the television is turned on. This particular embodiment works under the theory that the television system serves a family of viewers, each viewer having a possibly different psycho-demographic profile. In this particular embodiment, the system does not accumulate match-criteria information from one viewing session to another because a "family" profile would result in an amalgam of different viewers' profiles. In this particular embodiment, such an amalgam of profiles would not serve advertising targeting. In one embodiment, information is collected into different buckets according to the time of day. For example, morning television viewing would result in updates to "morning buckets"; afternoon television viewing would result in updates to "afternoon buckets"; evening television viewing would result in updates to "evening buckets." The bucket time designations described above are intended as exemplary, and are not in any way a limitation of the invention. Bucket time designations will be defined for the system according to market targeting needs. According to the invention, this embodiment develops profiles for different viewers. That is, the "afternoon buckets" accumulate profile information for children watching cartoons; the "evening buckets" capture adult viewing information; etc. According to the invention, another way in which the invention develops different profiles for different viewers is to use parental control codes and/or V-chip ratings to distinguish between multiple viewers in a household. For instance, a session wherein a TV-Y program is watched indicates that children are watching; watching a TV-M rated program indicates that adults are watching. Accordingly, information can be collected for the individual/group of individuals using the parental control codes and/or V-chip ratings to distinguish the different viewers. Advertising is then targeted by first analyzing the parental control codes and/or V-chip ratings of the show being watched to distinguish the particular current viewer. The microprocessor is programmed to recognize the individual/group of viewer(s) and then match the type of advertising most appropriate for that viewer. In one embodiment, if program-level or channel/network-level psycho-demographic information for the particular channel being tuned is available, the EPG uses the information to select advertisements to be displayed the next time that the viewer enters the EPG. According to the present invention, the EPG system installed in the television system purchased by the viewer comprises, at least, a core EPG system capable of decoding, installing, and executing a complex set of data-types, including data "instruction" packets provided as input to the core EPG system. Typically, an initial set of data "instruction" packets is provided with the television system purchased by the viewer so that when the viewer first turns on the television, the EPG is fully operational, and provides complete display capabilities, including an initial set of advertisements. After the television set is installed for the first time, input data instruction "packets" are subsequently transmitted to each receiving-capable EPG-equipped television system. As the input data instruction packets are received, the core EPG system decodes each data instruction packet and uses the instructions to operate in a certain manner. One aspect of the invention is that a particular advertisement data packet carries, or is preceded by, an instruction packet that specifies instructions with which the system analyzes the viewer profile collected by the EPG system ("match-criteria profile"). A match-criteria profile is comprised of one or more match criteria. Multiple match-criteria profiles are processed separately. As an example, consider an advertisement that the advertiser wants to target both of the following profile groups: 1.) males, 17-25 years of age; and 2.) females, 17-25 years of age. Under this aspect of the invention, two match-criteria profile groups would be associated with the particular advertisement. The packet would contain the information and instructions necessary for the EPG-equipped television system to identify that both groups are targeted. According to the data packet instruction, the EPG would try to match the first advertisement profile group with the match-criteria collected by the EPG, which in our example, is male, ages 17-25. If there is no match, the EPG would try to match the second advertisement profile group with the match-criteria collected by the EPG, which in our example, is female, ages 17-25. If there is a match, the advertisement would be displayed in an appropriate portion of the EPG display screen. If there is no match, the advertisement would not be displayed. In one embodiment, if there is no match between the advertisement and the EPG-collected viewer profile information, then the. advertisement is not selected from the VBI, or from the communication stream, and is not stored in the television EPG memory. The present invention is not limited to displaying advertisements when the viewer is in the EPG mode. That is, the present invention applies as well to determining which of several advertisements should be displayed to the viewer while the viewer is watching real-time television. International Application No. PCT/US98/ 17980 is incorporated by reference for all purposes as if fully stated here. International Application No. PCT/US98/17980 discloses systems and methods for replacing and/or overlaying audio and/or video television signals tuned by a television. One aspect of the disclosure of International Application No. PCT US98/17980 is the capability to switch the channel from which the television is tuned at the point where an advertisement is delivered to the television to another channel, displaying another advertisement. The present invention provides for supplementing information about the advertisements available for display during real-time television viewing with the above-described program-level and channel/network-level psycho-demographic information. The present invention then uses the real-time advertising program-level and channel/network-level psycho-demographic information to compare with the program-level and channel/network-level psycho-demographic information collected by the EPG. The present invention then determines whether one advertisement is more appropriate for display to the viewer based on the matching analysis. If one advertisement is a match or a close fit, the advertisement is displayed by tuning the television to the appropriate channel at the appropriate time. At the conclusion of the advertisement, the television is tuned to the channel to which the viewer was tuned before the advertisement began. The use of data instruction packets to drive the EPG is not limited to tailoring advertisements for viewers. Data instruction packets can be used to tailor any and all aspects of the EPG and television viewing. For instance, the display format of the EPG in the EPG mode can be targeted based upon viewer profile information. As an example, consider a particular color scheme that has been found to be preferred by sports enthusiasts. The color scheme can be implemented by sending over the communication stream, e.g., the VBI, the color scheme in data packets associated with instruction packets that instruct the EPG to select and implement the particular color scheme for viewer's that watch "sports." The instruction packet contains logical and relational operators as well as data. The EPG is programmed to recognize each component of the instruction packet, and to execute the instruction(s) contained therein. Data instruction packets, sometimes referred to as "envelopes," can instruct the EPG to execute the instruction on a one-time basis, for only a single day, for a week, for a month, on some periodic basis, on a continuing basis, or other scheduling basis. In one embodiment, if the EPG is instructed to only execute the instruction on a one-time basis, then the instruction is not saved in the memory of the EPG. Data instruction packets can be used to instruct the EPG of a single viewer to display a particular message. For instance, a viewer can request that a "Happy Birthday!" message be delivered to a second viewer and that the message be displayed for the entire day of the second viewer's birthday. The "Happy Birthday" message is constructed and is transmitted in the communication stream, e.g., the VBI. Preceding, related to, or attached to the "Happy Birthday" message is an instruction packet that instructs all EPG's to select, store and display the "Happy Birthday" message on the designated date if and only if the viewer's television device ID is equal to the designated number, or according to a name match, or according to a name and birthday match. Name, birth date, and other personal information can be collected from viewer's from completion of registration cards or other such procedures. Data instruction packets can be used to target information on a geographic basis and or on any other factor that is known to the EPG or which can be deduced and/or approximated by the EPG. The Internet has recently been popularized by the rapid success of the World Wide Web (WWW or Web). The Web links together a variety of computers from around the world and various topics in a non-sequential web of associations which permit a user to browse from one topic to another, regardless of the format and order of topics. Users access and browse the Web using a web browser that generally resides and is executed on the user's computer. Commercially available web browsers such as Netscape's Navigator™ and Microsoft Internet Explorer™ are common and accessible by computer users. The web browser allows a user to retrieve and render hyper-media content from the network of computers within the Web, including text, sound, video and other types of data. These hyper-media contents are stored on different websites. Websites are locations on server computers that are accessible through Internet. A variety of information, such as hyper media contents and databases can be stored on a website and be access by users with computers connected to the Internet. To serve up pages, websites need a server (a host computer) and server software that runs on the Server. The host computer manages the communication protocols and houses the pages and related software required to create a website on the Internet. Host computers spread throughout the Internet can house different websites. The Internet works based on a client/server model. In this model, a client computer communicates with a server computer on which information resides and the client computer depends on the server to deliver requested information and services. These services may involve searching for information and sending it back to the client, such as when a database on the Web is queried. Other examples of these services are delivering web pages through a website, and handling incoming and outgoing e-mail. Typically, the client is a personal computer (PC) user using a browser to connect to and search the servers, however, the present invention may also be implemented on a PCTV, a set top box, a television including special hardware, or the like. The servers are usually more powerful computers that house the data and databases. The client/server model enables the Web to be conceived of a limitless file storage medium and, distributed among thousands of host computers, all accessible by any individual user. The Internet has grown so quickly and its resources are so vast that users need help navigating around it by using special software called agents to help them access the Net's resources. Simply put, agents are programs that perform users' searches and bidding automatically. Agents can find the latest news and download it to the user computer; they can automatically monitor Internet traffic and report on its total usage; they can find the best deal on the a mechanize that a user wants to buy; they can perform important Web maintenance tasks; and the like. These agents are software programs that are invisible to the user. The user determines the task to be done by the agent and behind the scenes the agent automatically goes off and performs that task. A variety of different languages can be used to write agent programs. For instance, a simple Internet agent is one that gathers news from a variety of sources while the user is not using a computer or while the user is using the computer for another task. A news agent can work in several ways. In the simplest example, the user fills out a form saying what kind of news the user is interested in and on what schedule the user wants the news delivered. Based on that information, at pre-set intervals, the news agent dials into news sites around the Internet and downloads news stories to the user's computer where the user can read them as HTML pages. In one aspect of the present invention, a smart agent residing locally in a local client device iterative integrates the habit, statistical data and psycho-demographic information of an Internet user to infer the user's profile. The smart agent may also utilize the preference to filter information delivered to the local device. Specifically, the agent collects, combines, integrates and infers information from the user to arrive at a psycho-demographic profile of the user and utilizes such psycho-demographic profile to select or filter information delivered to the user, thereby achieving targeting. The agent is also capable of classifying and identifying the information delivered so that the information can be matched, filtered or selected easily. The agent is a software program designed to collect information such as the types and frequency of websites visited and the information retrieved by the user. The software program then combines the collected information with statistical data and psycho-demographic information to arrive at a psycho-demographic profile of the user. The agent may also search the Internet for information of interest to the user based on the user's profile on websites, public Usenet Newsgroups, and the like. The data retrieved by the software applet may be entered into an algorithm that produces a sorted list based on the user profile. According to one embodiment of the invention, the software program is written in the Java™ programming language. The software applet may also be written using ActiveX™, or other known Internet programming technologies. According to one embodiment of the invention, the system uses tables and records to store and organize data for construction of the user profile. The system organizes the tables and records into a database stored in the local device. The database may be structured as a relational database, tabular database, hierarchical database, object-oriented database, and the like. The layout and information contained in the various tables may vary based on the type of data being utilized. The user record includes the user's preference and psycho-demographic information, as well as a history of user interactions with the Internet and various websites. The user record also includes the user's information including the user's name, gender, age group, income level, e-mail address, and the like. The user record may also include a user rating table field with an index to a user's rating table. The user's rating table includes a list of subject matters, product types, brand names, and the like. Each entry further includes a user rating given to the particular entry. The user rating indicates a user's rating of the brand as "yes," "no,""like," "dislike,""don't care," or "don't know." Users may indicate their preferences or indifference for an entry by selecting a button adjacent to the entry corresponding to the above-mentioned ratings. The agent uses the entry rating information, in combination with other data to arrive at a user profile, as described above. Thus, the system can filter information or retrieve information from Internet according to the user's profile. The information includes promotional information, advertisement, or any other information related to a particular subject matter. Increasingly, the Internet is becoming a broadcast medium. Instead of users taking it upon themselves to visit certain sites, information, entire websites, and applications can be sent via the Internet straight to users' computers with a variety of technologies collectively know as push technology. In push technology, typically users subscribe to websites, often called channels. A channel generally refers to an area of interest that a site publisher builds, which can include HTML pages, Java™ applets, ActiveX™ components, multimedia objects, and other information packaged together to deliver customized information to users via push technology. The subscribed sites and the information they contain are sent to the users automatically at specified intervals. Receiving these channels requires either special client software or a push-enabled browser. Typically, push technology is built into browers such as Netscape Communicator™ and Microsoft Internet Explorer™. Push client software is also available from other companies. Most push technologies allows the users to customize the kind of information that they receive. This kind of customization is one benefit that push technologies offer. Another benefits is the time savings - instead of having to go out and gather the information, the information is delivered to the users with no effort on their part, and it's the kind of information that interests them. According to one aspect of the invention, when a profile for a user is determined, push technologies are used to deliver to the user specific information of interest, such as particular product information or advertisements, based on the determined user profile. FIGs. 9 and 10 illustrate an interactive television schedule system 300 according to one embodiment of the present invention which can access television schedule information from the Internet, and provide user access to the Internet. Access to the Internet may be provided in this embodiment without tying up any phone lines, and without the need for a personal computer. An interactive television system including access to Internet and advertisers, and contextual searching of the Internet is described in U.S. Patent Application No. 08/837,078, filed on April 11 , 1997 and entitles "SYSTEMS AND METHODS FOR LINKING TELEVISION VIEWERS WITH ADVERTISERS AND BROADCASTERS," the entire contents of which are hereby expressly incorporated by reference. As shown in FIG. 9, the interactive television schedule system includes a cable system 310 coupled to a television system 320. Cable system 310 generally includes a processor 312, and a memory 314. Television system 320 includes a television 322 and a user interface device 340. Television system 320 may also include a VCRs coupled to television 322. In a specific embodiment, memory 314 of cable system 310 stores software 316 for receiving, organizing, and displaying schedule data and other data. In addition to software 316, data for the basic schedule information, data related to the user profile, and other related data (e.g., data relating to a particular show) are also stored in memory 314. In one embodiment, a portion of this data is received via a cable modem 318, which may access the data from the Internet. Other portion of data is generated by the processor 312. The software 316 then utilizes the data received from cable modem 318 to generate a television schedule guide. The user can access this generated television schedule guide when desired. FIG. 10 illustrates an arrangement for providing television schedule information from cable system 310 to a television for display. In one embodiment, cable modem 318 provides access to a database, which may be on-line; the database contains the television schedule information, and the information is transmitted to the television. Software 316 stored in memory 314 is used to search for and provide the information, along with providing several other features including determination of user profile according to the present invention. The data may be stored in memory 314 within cable system 310, or within a database 348 within television 322. A controller 352 is used to obtain the data from memory 314 or from database 348 to display it on television 322. From the television schedule guide, the user can further utilize user interface 340 to press a "Services" button. This Services button can be located on the user interface or within the television schedule guide display. When the Services button is pressed, the user is given choices such as News, Weather, Sports, Scores, Financial Data, Local Traffic, Network, etc. based on the user preferences determined by the user profile. Using the user interface, the user can then select an area or a title, and the associated information from the database is provided. The user can further access the Internet by choosing Network from the guide using the user interface. Cable modem 318 accesses the Internet, and once connection is made, the user has two-way communication with on-line service providers. The user can then access the different on-line services. For example, a user viewing a sporting event may press the Services button, and a different menu based on the user profile will appear with the following choices: (1) Sports Scores, (2) Current Game Statistics, (3) Current Player Statistics, and (4) Associated Products based on the user profile. If the user selects (4) Associated Products, the software, will notify the cable modem and instruct the cable modem to establish connection with an on-line service provider. The on-line service provider then lists a series of selections associated with the game (e.g., 49er's hats, Giant's Baseball Bats from Louisville Slugger, Nike Spiked Football shoes for Pop Warner, etc.), and the user can interact with the service provider accordingly to order and purchase the product. FIG. 1 1 illustrates a system and method for accessing television schedule information from one or more servers 350 on a computer network 360, such as the Internet or the World Wide Web. The television information guide may be accessed and viewed through a computer system, a television system, a PCTV, or a simple display coupled to a communication link, such as a telephone line or the like. In the representative embodiment, a PCTV 362 is illustrated with a user input device 364, such as a remote control, keyboard, mouse or the like, and a communication device 366 for accessing computer network 360. Communication device 366 may include a wide variety of data lines, such as telephone lines, cable modems, satellite links, and the like. In one embodiment, the computer network 360 includes a plurality of servers 350 and a database 370. The database 370 includes television schedule information, which may be retrieved and viewed on PCTV 362. Servers 350 represent file servers having files, databases or the like. In a representative embodiment, the computer network is the World Wide Web and each server 350 is set up as a network file server addressable by a unique address. For example, the servers 350 may be configured to follow a common network protocol such as the Transmission Control Protocol (TCP), and the Internet Protocol (IP) (commonly referred to collectively as TCP/IP), and may be assigned a unique IP address or Internet domain name. For example, the servers may be assigned the domain name "guide.com." The servers 350 may also have some form of server software installed to permit the system to function as an Internet graphics server. For example, the servers 350 may be configured with HyperText Transport Protocol (HTTP) server software to permit the system to function as an Internet Web server. In this embodiment, PCTV 362 may access servers 350 via the Web using Web compatible software by indicating the system's uniform resource locator address: "HTTP://www.guide.com". In another embodiment, the television schedule guide (not shown) is stored as one or more files (e.g., a websites or Internet broadcast transmitters) on one of the servers 350, which can be accessed by any viewer having access to the Web. The television schedule guide or website may be configured for viewing and interacting with television information directly on-line, or it may be configured for downloading the information into a computer hard drive or other suitable processor. The guide provides listings information for all channels in the viewer's local cable lineup. Preferably, the guide is capable of creating personalized TV listings with search and sort features that allow the viewer to call up favorite programming choices based on categories, such as channel, day, actor, movie genre or other desired categories. The guide may also include other information about programs, such as ratings, stars, type of movie (e.g., suspense, comedy, drama, western, musical, children, biography, horror, etc.). This information may be provided on the actual website and/or Internet broadcast transmitter, or the website and/or Internet broadcast transmitter may provide means for linking the viewer with other websites and/or Internet broadcast transmitter to provide more information on certain topics and categories. In one embodiment of the present invention, the system includes a search engine that allows the viewer to search for particular types of programs that will be broadcast within a certain period of time. The search engine may include categories such as title, description, category, dates, day parts, channels, actor/actresses, directors, etc. In addition, the viewer may obtain more information on the programs within each category. For example, the guide could provide information on movies in many categories, including theatrical, made-for-TV movies, Spanish, French, etc. The guide is capable of informing the user what Clint Eastwood movies are on this week, how many StarTrek episodes this weekend, or whether a favorite basketball team is on TV this Saturday. The on-line viewers may customize their own listings by title, year, actors, director, run themes, critical star rating, MPAA, warning lines, video laser disc, full descriptions, genre, and holidays with themes. In another example, the guide could provide information on shows and series, including network shows, first run, British, PBS, cult favorites, syndicated shows, talk shows, local productions and obscure programs. The user may sort by, for example, title, episode run times, genre, original air date, etc. Data related to these user's selections is utilized in combination with other data to automatically generate a user profile, as described above. In another aspect of the invention, the system includes a variety of files on the same or different network servers that allow the user to interact with other users, program sponsors, advertisers, etc. For example, the system may have a website that allows viewers to chat about certain programs (each program itself may have its own website). In addition, the system may include a "virtual agent" that searches existing websites and/or Internet broadcast transmitter on the Internet and points to websites and/or internet broadcast transmitters that may interest the viewer based on the automatically generated user profile. The virtual agent also learns from the user choices to customize the television guide. FIG. 12 schematically illustrates a system and method according to the present invention for linking television viewers with broadcasters and advertisers during the broadcast of a commercial or program. As shown, system 400 includes a viewer interface 402, such as a television, computer, PCTV or a television coupled to a computer system. For convenience, the system will be described as utilizing a PCTV 402. A data line 404, such as a cable modem, telephone line or other communication link, couples the PCTV 402 with a remote database, network server or on-line-service, such as the Internet 406. A television guide database 408 is also coupled to the Internet 406 for providing the television schedule information to PCTV 402. This information may be downloaded, to PCTV 402, or it may be configured for viewing only while the viewer is actually connected to database 408. Alternatively, the television guide may be drawn locally from a processor within PCTV. As shown, a commercial provider 410 (e.g., Coke™) and/or a television station broadcaster 412 (e.g., ABC) also have databases coupled to PCTV 402 through Internet 406. PCTV 402 may include a memory and a processor with appropriate software (not shown) for searching and retrieving information including promotional information and advertisements from databases on the Internet 406 based on user profile. Alternatively, this function may be provided through Internet 406, television guide database 408 or through the commercial provider 410 or broadcaster 412. The software may also selectively filter the information directed to the viewer based on the user profile to achieve targeting. In this embodiment, PCTV may access, download, and/or automatically upgrade an application or applet (e.g., a Java™ applet) having the appropriate software to run the television schedule guide on a display, e.g., a computer monitor, television display or other user interface. In one example, the viewer is watching a sports event, such as a football game. One or more icons or other visual indicators are located on the television screen in a convenient location, such as the top, right corner. One of these icons may be an icon that represents the television schedule guide. The viewer can move a cursor or other visual indicator to the television guide icon and click thereon to open up the television guide as discussed in detail below. Another icon may be provided, for example, by a commercial sponsor targeting the particular viewer based on the user profile. Moving into and activating this icon allows the viewer to link with a database provided by the commercial sponsor, or to a portion of the television schedule guide database that allows the viewer to purchase an advertised product, make a monetary contribution, respond to a survey, answer a question, or participating in contests with other viewers, for example. This type of advertising allows the advertiser to directly target a particular viewer or particular program and it allows the viewer to directly purchase the advertised product during the advertisement. In another example, the television network that is broadcasting the program may provide an icon that allows the viewer to access a database 412 providing more information about the football game, previews of upcoming related programs, such as another football game later on in the week, or other products and services based on the user profile. As shown in FIG. 13, a graphical icon 95 appears on the screen of television 322 when the television program is displayed full screen, i.e., in a television mode, to inform the viewer that Internet data accompanies the television signal. Icon 95 can appear for a limited time period after the television program is first displayed or for the entire time period of the program. If the viewer wishes to access an Internet site in connection with the television program, the viewer presses a button on a remote controller, which introduces an Internet mode of operation described below. Microprocessor 312 is programmed to carry out this operation. By repeatedly pressing the button, the viewer can toggle back and forth between the television mode and the Internet mode. In one embodiment, the Internet site information is placed in a picture-in-picture ("PIP") window on the television screen such that the Internet site information may be viewed simultaneously with the television program. Conversely, the television signal may be placed in a PIP window on the television screen as shown in FIG.14. In this embodiment, the Internet site information occupies the majority of the television screen, and the television program is displayed in a PIP window. In this manner, the television video signal may be viewed simultaneously with the Internet information, and thus supplement the information provided to the viewer. It will be recognized by those skilled in the art that various modifications may be made to the illustrated and other embodiments of the invention described above, without departing from the broad inventive scope thereof. It will be understood therefore that the invention is not limited to the particular embodiments or arrangements disclosed, but is rather intended to cover any changes, adaptations or modifications which are within the scope and spirit of the invention as defined by the appended claims.

Claims: WHAT IS CLAIMED IS: 1. A system for customizing an electronic program guide having a display comprising: means for executing a first set of transmitted instructions to identify matches between a set of user profile data and a set of transmitted matching criteria; means for selecting a second set of instructions according to the identified matches; and means for executing the second set of instructions to customize the display of electronic program guide. 2. The system of claim 1 wherein the first set of instructions and the matching criteria are transmitted through vertical blanking interval of a television signal. 3. The system of claim 1 wherein means for executing the second set of instructions comprises means for executing the second set of the instructions to select from a plurality of advertisements an advertisement for viiwing on the electronic program guide display. 4. The system of claim 1 wherein means for executing the second set of instructions comprises means for executing the second set of the instructions to select from a plurality of messages a message for viewing on the electronic program guide display. 5. The system of claim 1 wherein means for executing the second set of instructions comprises means for executing the second set of the instructions to select from a plurality of color schemes a color scheme for viewing of the electronic program guide. 6. A system for customizing a presentation format of an electronic program guide for comprising: means for collecting a plurality of data items related to a user's usage of television and electronic program guide for a user profile; means for storing the user profile data in a memory; means for receiving a set of transmitted instructions; means for receiving a set of transmitted matching criteria; means for executing a first set of the transmitted instructions to identify matches between the user profile data and the set of matching criteria; means for selecting a second set of the transmitted instructions according to the identified matches; and means for executing the second set of instructions to customize the electronic program guide. 7. A computer program product for customizing a presentation format of an electronic program guide, the computer program product having program instructions when executed by a computer cause the computer to performs the steps of: executing a first set of transmitted instructions to identify matches between a set of user profile data and a set of transmitted matching criteria; selecting a second set of instructions according to the identified matches; and executing the second set of the instructions to customize the electronic program guide. 8. The computer program product of claim 7 wherein the transmitted instructions and the transmitted matching criteria are transmitted through the vertical blanking interval of a video signal. 9. The computer program product of claim 8 wherein the step of customizing the format of the electronic program guide comprises executing the second set of instructions to select from a plurality of advertisements an advertisement for display on the electronic program guide. 10. The computer program product of claim 8 wherein the step of customizing the format of the electronic program comprises executing the second set of instructions to select from a plurality of messages a message for display on the electronic program guide. 11. The computer program product of Claim 8 wherein the step of customizing the format of the electronic program guide comprises executing the second set of instructions to select from a plurality of color schemes a color scheme for display of the electronic program guide. 12. A computer program product for customizing an electronic program guide, the computer program product having program instructions when executed by a computer cause the computer to performs the steps of:: collecting a plurality of data items related a user's usage of television and electronic program guide for a user profile data; storing the user profile data in a database; receiving a set of transmitted instructions; receiving a set of transmitted matching criteria; executing a first set of the transmitted instructions to identify matches between the user profile data in the database and the set of transmitted matching criteria; selecting a second set of the transmitted instructions according to the identified matches; and executing the second set of instructions to customize the electronic program guide. 13. A method for customizing an electronic program guide display on a user's television comprising the steps of: executing a first set of transmitted instructions to identify matches between a set of user profile data and a set of transmitted matching criteria; selecting a second set of instructions according to the identified matches; and executing the second set of instructions to customize the electronic program guide. 14. The method of claim 13 wherein the instructions and the matching criteria are transmitted through the vertical blanking interval of a television signal. 15. The method of claim 14 wherein the customizing step comprises executing the second set of instructions to select from a plurality of advertisements an advertisement for display on the electronic program guide. 16. The method of Claim 14 wherein the customizing step comprises executing the second set of instructions to select from a plurality of messages a message for display on the electronic program guide. 17. The method of claim 14 wherein the customizing step comprises executing the second set of instructions to select from a plurality of color schemes a color scheme for display of the electronic program guide.. 18. A method for customizing an electronic program guide display, the method comprising the steps of: collecting a plurality of data items concerning a user's profile of television and electronic program guide usage; storing the user profile data in a memory; receiving a set of real-time transmitted instructions; receiving a set of real-time transmitted matching criteria; executing a first set of the real-time instructions to identify matches between the user profile data and the set of real-time matching criteria; selecting a second set of the real-time instructions according to the identified matches; and executing the second set of the real-time instructions to customize the electronic program guide. 19. The method of claim 18 wherein the step of executing the second set of the realtime instructions to customize the electronic program guide comprises executing the second set of instructions to select from a plurality of advertisements an advertisement for display on the electronic program guide. 20. A television system using a computer device for customizing an electronic program guide display comprising: a set of program instructions for executing a first set of real-time transmitted instructions to identify matches between a set of user profile data and a set of real-time transmitted matching criteria; a set of program instructions for selecting a second set of real-time instructions according to the identified matches; and a set of program instructions for executing the second set of the real-time instructions to select from a plurality of advertisements an advertisement for display on the electronic program guide. AMENDED CLAIMS [received by the International Bureau on 21 July 2000 (21.07.00); original claims 1,3,6,7,9-13,15-18 and 20 amended; remaining claims unchanged (4 pages)] 1. A system for customizing an electronic program guide having a display comprising : means for receiving a first set of instructions transmitted from a remote data center; means for executing the first set of transmitted instructions to identify matches between a set of user profile data and a set of transmitted matching criteria; means for automatically selecting a second set of instructions responsive to the identified matches; and means for executing the selected second set of instructions to customize the display of electronic program guide. 2. The system of claim 1 wherein the first set of instructions and the matching criteria are transmitted through vertical blanking interval of a television signal. 3. The system of claim 1 wherein means for executing the second set of instructions comprises means for executing the second set of the instructions to select from a plurality of advertisements an advertisement for viewing on the electronic program guide display. 4. The system of claim 1 wherein means for executing the second set of instructions comprises means for executing the second set of the instructions to select from a plurality of messages a message for viewing on the electronic program guide display. 5. The system of claim 1 wherein means for executing the second set of instructions comprises means for executing the second set of the instructions to select from a plurality of color schemes a color scheme for viewing of the electronic program guide. 6. A system for customizing a presentation format of an electronic program guide comprising: means for collecting a plurality of data items related to a user's usage of television and electronic program guide for a user profile; means for storing the user profile data in a local memory; means for receiving a set of instructions transmitted from a remote data center; means for receiving a set of transmitted matching criteria; means for executing a first set of the transmitted instructions to identify matches between the user profile data and the set of transmitted matching criteria; means for automatically selecting a second set of the transmitted instructions responsive to the identified matches; and means for executing the second set of instructions to customize the electronic program guide. 7. A computer program product for customizing apresentation format of an electronic program guide, the computer program product having program instructions when executed by a computer cause the computer to performs the steps of: executing a first set of transmitted instructions to identify matches between a set of user profile data and a set of transmitted matching criteria; automatically selecting a second set of instructions according to the identified matches; and executing the automatically selected second set of the instructions to customize the electronic program guide display. 8. The computer program product of claim 7 wherein the transmitted instructions and the transmitted matching criteria are transmitted through the vertical blanking interval of a video signal. 9. The computer program product of claim 7 wherein the step of executing the second set of the instructions comprises executing the second set of instructions to select from a plurality of advertisements an advertisement for display on the electronic program guide. 10. The computer program product of claim 7 wherein the step of executing the second set of the instructions comprises executing the second set of instructions to select from a plurality of messages a message for display on the electronic program guide. 11. The computer program product of claim 7 wherein the step of executing the second set of the instructions comprises executing the second set of instructions to select from a plurality of color schemes a color scheme for display of the electronic program guide. 12. A computer program product for customizing an electronic program guide, the computer program product having program instructions when executed by a computer cause the computer to performs the steps of: collecting a plurality of data items related to a user's usage of television and electronic program guide for a user profile data; storing the user profile data in a local database; receiving a set of transmitted instructions from a remote data center; receiving a set of transmitted matching criteria from the remote data center; executing a first set of the transmitted instructions to identify matches between the user profile data in the database and the set of transmitted matching criteria; automatically selecting a second set of the transmitted instructions [according] responsive to the identified matches; and executing the selected second set of instructions to customize the electronic program guide display. 13. A method for customizing an electronic program guide display on a user's television comprising the steps of: executing a first set of transmitted instructions to identify matches between a set of user profile data and a set of transmitted matching criteria; automatically selecting a second set of instructions according to the identified matches; and executing the selected second set of instructions to customize the electronic program guide display. 14. The method of claim 13 wherein the instructions and the matching criteria are transmitted through the vertical blanking interval of a television signal. 15. The method of claim 13 wherein the executing the second set of the instructions step comprises executing the second set of instructions to select from a plurality of advertisements an advertisement for display on the electronic program guide. 16. The method of claim 13 wherein the executing the second set of the instructions step comprises executing the second set of instructions to select from a plurality of messages a message for display on the electronic program guide. 17. The method of claim 13 wherein the executing the second set of the instructions step comprises executing the second set of instructions to select from a plurality of color schemes a color scheme for display of the electronic program guide.. 18. A method for customizing an electronic program guide display, the method comprising the steps of: collecting a plurality of data items concerning a user's profile of television and electronic program guide usage; storing the user profile data in a local memory; receiving a set of real-time instructions transmitted from a remote data center; receiving a set of real-time matching criteria transmitted from the remote data center; executing a first set of the transmitted real-time instructions to identify matches between the user profile data and the set of real-time matching criteria; automatically selecting a second set of the real-time instructions according to the identified matches; and executing the second set of the real-time instructions to customize the display of the electronic program guide. 19. The method of claim 18 wherein the step of executing the second set of the realtime instructions to customize the electronic program guide comprises executing the second set of instructions to select from a plurality of advertisements an advertisement for display on the electronic program guide. 20. A television system using a computer device for customizing an electronic program guide display comprising: means for executing a first set of real-time instructions transmitted from the remote data center to identify matches between a set of user profile data stored locally and a set of real-time transmitted matching criteria for advertisements; means for automatically selecting a second set of real-time instructions responsive to the identified matches; and means for executing the selected second set of the real-time instructions to select from a plurality of advertisements an advertisement for display on the electronic program guide responsive to the matched criteria.

Inventors: HANCOCK KENNETH S, MACRAE DOUGLAS, NESSON TED, WARD THOMAS EDWARD III, YUEN HENRY C, HANCOCK, KENNETH, S., MACRAE, DOUGLAS, NESSON, TED, WARD, THOMAS, EDWARD, III, YUEN, HENRY, C.
Applicants: HANCOCK KENNETH S, INDEX SYSTEMS INC, MACRAE DOUGLAS, NESSON TED, WARD THOMAS EDWARD III, YUEN HENRY C, HANCOCK, KENNETH, S., INDEX SYSTEMS, INC., MACRAE, DOUGLAS, NESSON, TED, WARD, THOMAS, EDWARD, III, YUEN, HENRY, C.
Application year: 2000
Main classification: H04N5
IPC codes: H04N5, H04N7