METHOD AND APPARATUS FOR CONTROLLING A TELEVISION TUNER Background of the Invention This invention relates to control of a television tuner, and more particularly, to a method and apparatus for automatically setting the channel lineup applicable to a particular tuner location and transmission service.
Television program sources, stations and networks such as HBO, WGN, and ABC are transmitted on different frequencies, i.e., channel numbers, depending upon the cable, satellite, or broadcast transmission service used by the television viewer and the tuner location. The table that relates the television program source names to the channel numbers for the particular service used by the viewer is sometimes called the channel lineup. If the television viewer is using a printed program guide, he or she must usually consult a printed channel lineup to determine the channel number to which the tuner should be set for the viewer's transmission service to receive a particular program source such as HBO.
To facilitate the process for the viewer, there are on the market remote controllers that have a so called channel mapping memory which stores the channel lineup applicable to the particular transmission service and/or tuner location. The viewer must first set up the controller by keying in the channel lineup manually. Then, when the viewer keys in a particular source name, e.g., ABC, the controller accesses the channel mapping memory, converts the source name to the applicable channel number, and sets the tuner accordingly.
Recently with the advent of systems to set a video tape recorder (VCR) for unattended recording by means of code numbers, such as used in a commercial system called VCR
PLUS +™ or by means of an onscreen cursor to select programs from a list displayed on the television screen, channel mapping has become a necessity. The channel lineup applicable to the tuner location is stored in a channel mapping memory so that when the viewer designates a name of a program source by code number or cursor, the corresponding channel number is retrieved from the memory and used automatically to set the tuner.
The most common way to load the channel lineup into the channel mapping memory is for the viewer to key in the applicable channel numbers manually responsive to a series of prompts displayed on the television screen, as described, for example, in British Patent Specification GB 2 256 333 A, published on December 2, 1992.
There have been attempts to automate the process of loading the applicable channel lineup into the channel mapping memory. U.S. Patent No. 4,894,714 to Christis discloses the transmission of a channel lineup from a television transmitter station as a teletext page. The teletext page is downloaded to a channel mapping memory at the television receivers served by the transmitter. This arrangement requires that each and every cable, satellite, or broadcast service transmit only the channel lineup applicable to that particular service.
A telephone service also exists that downloads to a viewer's remote controller the channel lineup applicable to the viewer's transmission service. After ringing up the telephone service, the viewer announces his or her transmission service, e.g. , cable company, and/or postal directory code (zip code). The channel lineup is then transmitted to the viewer over a telephone line.
Summary of the Invention
According to the invention, one of the television signals from a plurality of channels includes as supplemental data a plurality of channel lineups and a unique geographic area identifier for each channel lineup. When the transmitted television signals are received at a tuner, the transmitted identifiers are compared with a user inputted geographic area identifier. The transmitted channel lineup for the transmitted identifier that matches the user inputted identifier is stored for future use as a valid channel lineup. The valid channel lineup is then used to set the tuner in response to user inputted channel commands. The described arrangement can be used to download channel lineups as part of a television signal that is transmitted to viewers of services that have different channel lineups. The applicable channel lineup is determined at the local tuner by means of the geographic area identifier. Preferably, the geographic area identifiers are postal directory codes (zip codes).
If the transmitted identifier that matches the user inputted identifier includes more than one channel lineup, the valid channel lineup for the television signals transmitted to the tuner location is determined and stored for future use. Specifically, the radio spectrum is scanned for television signals that includes supplemental data and a designation of program source name to create a partial channel lineup. The partial channel lineup is compared with the stored channel lineups. The stored channel lineup that matches is the valid one. If more than one stored channel lineup matches, the ambiguity is resolved by manually inputting the channel numbers for one or more program source names. Brief Description of the Drawings
The features of a specific embodiment of the best mode contemplated of carrying out the invention are illustrated in the drawings, in which
FIG. 1 is a schematic block diagram of television transmitters configured to practice the invention;
FIG. 2 is a schematic block diagram of a processor controlled television receiver and/or VCR programmed to practice the invention;
FIG. 3a to 3c are idealized diagrams representing the supplemental data processed by the apparatus of FIGS. 1 and 2 to determine the valid channel lineup at the particular tuner location;
FIG. 4 is a diagram representing channel lineups that illustrate the operation of the invention;
FIG. 5 is a diagram representing partial channel lineups that illustrate the operation of the invention; and
FIG. 6 is a television screen formatted to display simultaneously a current television program and program listings to assist in completing a channel lineup .
Detailed Description of the Spwifir Fmhπrlimpnts
The invention contemplates the transmission of supplemental data with one or more multiple channel television signals. Each program source, e.g. , KCET and/or WGN is called herein a "host." The supplemental data includes the channel lineups of most or all the television transmission services that receive the host program source and a unique geographic 2area identifier for each channel lineup. Thus, hundreds or even thousands of channel lineups, depending on the geographic area served by the host program source, are transmitted with the host television signal. The invention is described below in conjunction with a cable television service, but it can also be used in a satellite or broadcast television service. In FIG. 1 , a host program source 10 and a source of supplemental data 11 are coupled to a VBI encoder 12 to insert the supplemental data into the VBI of the television signal of source 10. Alternatively, the supplemental data could be transmitted on a subcarrier of the television signal or by other known means for carrying data with a television signal. Preferably, the supplemental data is repeated continuously all the time that source 10 is sending out a television signal. The television signal of source 10 with the supplemental data is transmitted to a plurality of conventional cable head ends 13a, 13b, ..., 13n. At head ends 13a, 13b, ..., 13n, as represented by horizontal lines 14a, 14b, ..., 14n extending to the left of the head end, the television signal of source 10 with the supplemental data is combined with the television signals from a number of other program sources at assigned frequencies that vary from one cable head end to another. As a result of these different frequency assignments, the cable system associated with each head end has its own channel lineup. As represented by horizontal lines 15a, 15b, ..., 15n extending to the right of the head end, the combined multiple channel television signals are coupled to inputs 16a, 16b, ..., 16n of the cable trunks for distribution to the subscribers of the cable service. In FIG. 2, a subscriber drop 17 is fed to a television tuner 18. In a cable system, tuner 12 is the front end of the cable converter of one of many subscribers of the cable system. If the invention is practiced in another type of television transmission service, tuner 18 could be a satellite receiver, a television receiver, or a VCR. Tuner 18 is coupled by an intermediate frequency amplifier (IF AMP) 19 to a video detector (DET) 20. A baseband video signal at the output of DET 20 is coupled to a television monitor or video cassette recorder (TV/ VCR) 21. Tuner 18 is set by a signal from a microprocessor 22 to the desired local channel number. A remote controller 23 is coupled to microprocessor 20, typically by an infrared transmission link. Microprocessor 22 accesses a system memory 24, a program
schedule memory 25, a temporary memory 26, and a channel mapping memory 28, which are functionally different, but could be incorporated in a single integrated circuit. Memory 25 stores a data base of current and future program listings, including title, program source (station), start time, and program length, to serve as an electronic program guide that is displayed on a television screen. A VBI decoder 30 strips from the television signal to which tuner 12 is set the supplemental data transmitted in the vertical blanking interval (VBI).
FIG. 3 depicts supplemental data 32 carried in the VBI of a host program source. A header field 34 designates the beginning of the supplemental data, identifies the particular host, and controls operation of decoder 30 with clock run in and framing code information. Following header field 34 are the channel lineup fields 36a, 36b, ..., 36n, each of which is preceded by a unique geographic area identifier field 38a, 38b, ..., 38n, respectively. The geographic area identifiers are preferably postal directory codes (zip codes) because such codes are easy for the viewer to remember. However, they could alternatively be codes uniquely assigned to the various cable, satellite or broadcast services, in which case there would be only a single channel lineup for each geographic area identifier. In any case, the codes uniquely identify the geographic area in which the viewer's tuner is located.
If there is more than one cable service operating in a postal directory zone, there are a plurality of channel lineups applicable to such postal directory zone. In such case, it is preferable to place all the channel lineups adjacent to one geographic area identifier field 38 in one channel lineup field 36 along with an optional manual ambiguity resolution routine. This is illustrated in FIG. 3B, in which a postal directory zone 91105 is assumed to have adjacent channel lineups #1, #2, and 3# in a single field 36a. Alternatively, each channel lineup could be placed in a separate channel lineup field 36 adjacent to a geographic area identifier field 38. This is illustrated in FIG. 3C, in which lineups #1, 2#, and #3 are in individual fields 36a, 36m, 36n, separated from each other by a number of channel lineups for other postal directory zones, as represented by gaps 40 and 42.
It is contemplated that the television signal of a host will be received by television viewers nationwide or regionally such as by state or county, all be it on different channel numbers, i.e., channel frequencies. All the channel lineups for the entire geographic region served by the particular host are received by tuner 18 as part of supplemental data 32. Thus, there may be hundreds or even thousands of channel lineups in the VBI of the host. In addition, the supplemental data could include other types of information such as a database of television programs to enable the display of an onscreen program guide or program titles and other information to enable the viewer to index recorded television programs. The additional supplemental data such as the database of program schedule information could be stored in system memory 24.
In operation, the viewer downloads the applicable channel lineup to channel mapping memory 28 by pressing a key on remote controller 22 to initiate a set up mode and then
keying in his or her postal directory code. In the set up mode, microprocessor 20 controls tuner 12 to scan the channels of the spectrum to locate a host. When a host is located, supplemental data 32 is downloaded through decoder 30 to microprocessor 22 where the transmitted postal directory codes in identifier fields 38a, 38b...38n are compared with the user inputted postal directory code and the channel lineup or lineups for the transmitted postal directory code that matches the inputted code are stored in temporary memory 26. If there is only one channel lineup for the matching postal directory code, that channel lineup is transferred directly to channel mapping memory 28. If there is more than one channel lineup for the matching postal directory code, the ambiguity resolution routine described below automatically selects the channel lineup applicable to the location of the viewer's tuner for transfer to channel mapping memory 28. Briefly, the spectrum is scanned in one of a number of ways described below to create a partial channel lineup from the available program source name data and this partial channel lineup is compared with the channel lineups for the matching postal directory code. After the viewer exits the set up mode, microprocessor 22 retrieves the proper local channel number from channel mapping memory 28 each time the viewer selects a program source via remote controller 23. The ambiguity resolution routine will now be described in more detail. In FIG. 4, it is assumed for purposes of illustration that there are three channel lineups for the matching identifier, namely channel lineups 44, 46, and 48. Initially, according to the routine, microprocessor 22 controls tuner 18 to scan the spectrum looking for the header field 34 of other hosts. When another host is found, the local channel number from tuner 18 and the program source name from header field 34 are stored in temporary memory 26 as a partial channel lineup. The local channel number and source name of the other host are compared with the local channel number and source name of each channel lineup in temporary memory 26 and the channel lineup or lineups that do not match are eliminated from consideration. It is assumed for purposes of illustration that the hosts for channel lineups 44, 46, and 48 are KCET and WGN. As illustrated in FIG. 5, KCET is channel 28 and WGN is channel 20 in channel lineup 44, KCET is channel 28 and WGN is channel 17 in channel lineup 46, and KCET is channel 16 and WGN is channel 20 in channel lineup 48. Assuming that channel lineup 46 is applicable at the location of tuner 17, the scanning process will automatically create a partial channel lineup of channel 28 for KCET and channel 17 for WGN. T is partial channel lineup is compared with channel lineup 44 to 48 to resolve the ambiguity in favor of channel lineup 46.
This process of host scanning and comparison is continued until the ambiguity has been resolved, i.e., until all the channel lineups but one have been eliminated. The remaining channel lineup is transferred to memory 28 for use in setting tuner 18.
If necessary to resolve the ambiguity, the spectrum can be also be scanned for program sources that carry their name in the VBI as XDS data. In this case the host program sources and the XDS data program sources are, preferably, both interrogated during the same scan. Each time another such program source is found, the local channel number from tuner 18 and the program source name from the host or XDS field are stored in temporary memory
26 to expand further the partial channel lineup. The local channel number and source name are compared with the local channel number and source name of each channel lineup and the channel lineup or lineups that do not match are eliminated from consideration. This scanning process is continued until the ambiguity has been resolved, i.e., until all the channel lineups but one have been eliminated. The remaining channel lineup is transferred to memory 28 for use in setting tuner 18.
Although it is preferable to interrogate the hosts and program sources that carry XDS data in intermixed fashion as they are encountered in the spectrum in a single scan to determine the program source-local channel number relationship and build the partial channel lineup, alternatively all the hosts can be sequentially interrogated followed by al the program sources that carry XDS data in two or more separate scans. In either case, the scanning process is terminated when the ambiguity has been resolved.
The scanning for hosts or XDS data to resolve ambiguity can be carried out during the same spectrum scan which downloads the channel lineups and other program data. However, if the channel line-ups appear early during the scan while the ambiguity resolving data appear later during the scan, then all multiple line-ups within one postal code (zip-code) area must be stored in memory temporarily ambiguity resolving data arrives to help select the correct channel lineup.
Since most microcontrollers are short of temporary memory (RAM), an alternative approach is to execute two consecutive scans. The first scan stores all XDS and host channel information, i.e., ambiguity resolving data, to create the partial channel lineup. The next scan downloads the channel lineup data from the first host that is encountered. Since the ambiguity resolving data is already in place, it can act as a "filter" to help select the correct lineup from multiple lineups in the same postal directory code (zip code) area. Specifically, as each channel lineup is downloaded from the VBI of the host, it can be compared with the partial channel lineup so the downloaded channel lineup can be erased after it is determined that it does not match the partial channel lineup. As a result, it is not necessary to store temporarily in memory 26 more than several downloaded channel lineups.
Finally, as a last resort, if scanning in the described manner does not resolve the ambiguity, specific source-local channel relationships applicable to the particular postal directory code stored in the VBI as an ambiguity resolution routine could be added to the partial channel lineup responsive to manual inputs from the viewer. The program source name would be displayed on the screen as a prompt for the viewer to input the local channel
number that corresponds to the displayed program source name. Each time another program source name is displayed, the local channel number keyed in by the viewer and the program source name are stored in temporary memory 26 as a contribution to the partial channel lineup. The local channel number and source name are compared with the local channel number and source name of each channel lineup and the channel lineup or lineups that do not match are eliminated from consideration. This process of manual viewer input is continued until the ambiguity has been resolved, i.e., until all the channel lineups but one have been eliminated. The remaining channel lineup is transferred to memory 28 for use in setting tuner 18. An alternative last resort procedure to determine the local channel numbers for remaining program sources is as follows: The current program listings for the remaining program sources are sorted by microprocessor 22 for display on a television screen 60, as shown in FIG. 6. (The format of television screen 60 is derived from application Serial No. 08/475,395, filed on June 7, 1995, the disclosure of which is incorporated herein by reference.) These program listings, which are stored in memory 25 as part of the data base of program listings for the electronic program guide, are displayed in an area 62. One of the program listings is highlighted by a cursor 64 under the control of up/down arrow keys of a remote controller (not shown). A description of the program corresponding to the program listing highlighted in area 64 is displayed in an area 66. Microprocessor 22 controls tuner 18 sequentially to display in an area 68 the real time, moving images of the programs telecast by the remaining program sources. Microprocessor 22 selects for display in area 68 only the programs telecast from program sources that have not yet been matched with a local channel number. The sequence can either advance automatically or responsive to a command entered into a remote controller by the viewer. In either case, the job of the viewer is to match the images in area 68 with the program listing in area 64 and the program description in area 66. When the viewer sees images in area 68 for a program listing in area 64, the viewer moves cursor 64 to that program listing and enters a command into a remote controller to cause microprocessor 22 to store the program source identification from memory 25 and the channel number from tuner 18 in memory 28 as a pair of the channel map. Then, microprocessor 22 deletes the program listing from area 62 and the program description from area 64. Consequently, as the channel lineup is created, the number of program listings in area 62, the number of program descriptions in area 64, and the number of sequential programs in area 68 diminish to zero so the process proceeds more rapidly.
The described embodiments of the invention are only considered to be preferred and illustrative of the inventive concept; the scope of the invention is not to be restricted to such embodiments. Various and numerous other arrangements may be devised by one skilled in the art without departing from the spirit and scope of this invention.