# Patent

## Title
Method and system for acquiring and converting electronic programming guide signals from multiple vendors

## Abstract

A system and method for use in a cable network to acquire electronic programming guide (EPG) content signals from one or more EPG vendors. The system includes a set-top box (STB) for receiving cable signals and EPG signals from a headend controller so that the STB can output the signals to a media output device for display. A conversion table is provided to each STB for use by the STB in determining source IDs associated with a given channel for each EPG vendor, the source IDs for use in acquiring the EPG content signals.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to mapping a source identification used in associating electronic programming guide (EPG) content information with television signals.
2. Background Art
A cable television provider streams television signals from a headend controller to a number of settop boxes (STB) over cable lines or other mediums. Selective portions of the signals are acquired by the STB for viewing desired channels. As part of these signals, the STB receives a channel map for determining if a user-selectable channel is part of the channel map, and is hence, tunable. The channel map is typically downloaded to the STB from the headend controller. Part of this download includes a table or other arrangement for relating channels or call signs to a particular channel identification or source identification (ID).
In addition to displaying the selected channel, the STB may include an electronic programming guide (EPG) for displaying EPG content information associated with the available channels. The EPG content information provides textual and visual descriptions of programs, movies, news, or other items showing on a particular channel for a particular period in time. The EPG can provide a number of features for displaying the EPG content information, such as in a selection guide that displays content information for a number of channels according to a number of time slots and/or in an overlay that appears across the bottom of the screen when the tuned to channel is changed.
Most headend controllers use a vendor-specific approach for providing the mapping of channel numbers to source IDs. In this approach, the source ID for each channel is predefined by the EPG vendor as a numeric reference value for that content source, such as 10,001 for ESPN, 10,002 for HBO, etc. The source ID is used by the STB to correlate the channel number with EPG content on that channel. The EPG content information is provided to the STB by the EPG content vendor. Like the cable television provider, the EPG vendor streams EPG content signals to the STB over the cable lines or other communication medium. The EPG selects the desired EPG content information from the signals based on the source ID. In general, the STB receives a channel input from a user, consults the channel map to determine the channel's existence in the map and its associated source ID, tunes to the desired channel and puts up source-specific EPG content based on the source ID information.
A problem arises with this approach, however, if the cable television provider desires to change the EPG vendor to a new EPG vendor that associates its EPG content information with source IDs that are different from the source IDs of the original EPG vendor. The ability to change EPG content providers is desirable because some EPG vendors provide better services than others. To accommodate a new EPG vendor, the headend controller must either change the channel map(s) to reflect the new source IDs, or support duplicate channel maps, one with each set of EPG vendor-specific source IDs. Changing the channel map each time the EPG vendor is changed is undesirable because it can lead to long-term operational maintenance issues and/or cause interruptions in service. Supporting duplicate channels maps is undesirable because it consumes bandwidth and leads to long-term operation maintenance issues. Also, with each new EPG vendor, a new variant of the channel map would need to be created, making the solution even more untenable.
SUMMARY OF THE INVENTION
It is, therefore, an object of the present invention to provide a method and system for acquiring electronic programming guide (EPG) signals that overcomes the above-identified problems of the prior art.
The present invention contemplates a number of features for acquiring EPG signals, including, but not limited to, a system for use in a cable network to acquire EPG content signals from one or more EPG vendors. The system includes a set-top box (STB) for receiving cable signals from a headend controller and EPG content signals from an EPG vendor so that the STB can output the signals to a media output device for display.
A channel map is preferably provided to the STB for use by the STB in acquiring channels provided by the headend controller. The channel map preferably includes a number of source identifications (IDs) associated with a call sign for each channel offered by the headend controller. The source IDs can be used by the STB to acquire EPG content signals provided by an EPG vendor so that the EPG content information can be communicated to a user through the media output device.
A conversion table is preferably provided to the STB for use by the STB in selecting source IDs that are different from the source IDs included in the channel map, such as to receive EPG signals from a different EPG vendor that associates its EPG content signals with source IDs that are different from the source IDs in the channel map.
In accordance with one aspect of the present invention, the channel map includes a use portion that designates the channels with their associated call sign and source ID and a non-use portion that designates a non-use channel number. Preferably, the non-use channel number is associated with the source IDs in the conversion table so that the STB can be controlled to select source IDs from the conversion table based on the non-use channel if the non-use channel is recognized. In this manner, EPG content signals can be received from the EPG vendor associated with the source IDs of the conversion table instead of the EPG vendor associated with the source IDs of the channel map.
The above features and advantages, along with other features and advantages of the present invention, are readily apparent from the following detailed description of the invention when taken in connection with the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a system for providing electronic programming guide (EPG) signals in accordance with one aspect of the present invention;
FIG. 2 illustrates a first channel map in accordance with one aspect of the present invention;
FIG. 3 illustrates a second channel map in accordance with one aspect of the present invention;
FIG. 4 illustrates an EPG content map for a first EPG vendor in accordance with one aspect of the present invention;
FIG. 5 illustrates a conversion table in accordance with one aspect of the present invention; and
FIG. 6 illustrates an EPG content map for a second EPG vendor in accordance with one aspect of the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
FIG. 1 illustrates a system 10 for providing cable television signals and electronic programming guide (EPG) signals to a set-top box (STB) 14 connected to a media output device 18 in accordance with one aspect of the present invention. The channel signals and the EPG content signals are streamed over a cable network 22 from a headend controller 24 and an EPG vendor 26, 26′, respectively. The STB 14 is operable to select desired portions of the signals for output to the media output device 18, which can be a television, computer, or other display device.
The STB 14 includes a processor 30 and a memory 32 for controlling operation of the STB according to instructions provided by an STB application. The STB 14 application can provide a number of features, including supplying an EPG for acquiring desired channels and providing programming information. The STB 14 includes a receiver 34 or other means for receiving inputs from a user, such as through a remote control or buttons provided on the STB 14. The present invention contemplates other features and configurations for the STB 14, including integrating the STB 14 with the television or other device, such as a computer.
The headend controller 24 is an infrastructure for providing television signals to subscribers of a cable television provider. It can include any number of features for receiving external programming provider signals and information relating to television, movies, or other media. The headend controller 24 can include antennae or satellite dishes for reception of signals from cable providers like ESPN, CNN, or HBO and from network television providers like NBC, ABC, CBS, and FOX. In addition, signals can be received at the headend controller 24 over other interfaces, such as via fiber optics, telephone wires, the Internet, microwave towers and local community access channels.
The headend controller 24 processes the signals it receives for output over the cable network 22 to its subscribers. Once received, the signals can be amplified and mixed into the other signals received and output by the headend controller 24, such as through a cable system channel numbering scheme using a frequency multiplexer that associates particular signals to particular source IDs. Once processed, the television signals are sent over the cable network 22, such as through coaxial cables, and tuned to by the STB 14.
The EPG vendor 26 is a provider of EPG content information for the televisions signals. The EPG content information can include any type of graphical and non-graphical data used to provide additional information for the television signals, such as titles, summaries, ratings, run-time, reviews, and other information related to the programs and movies offered by the headend controller 24. The EPG content information is processed by the STB application for output in an EPG visual representation. As is known in the art, the EPG view provides a navigatable medium for viewing the textual and visual descriptions associated with the EPG content information, such as in a selection guide that displays content information for a number of channels according to a number of time slots and/or in an overlay that appears across the bottom of the screen when the tuned to channel is changed.
The EPG vendor 26, 26′ includes a server that is configured in a manner similar to the headend controller 24 in that it is designed to receive data from EPG providers and to process that data for streaming over the cable network 22. Once received and processed, the data is output by the EPG vendor 26, 26′, such as through a numbering scheme that associates particular content signals to a source ID, and sent over the cable network 22 for selection by the STB 14 according to the associated source IDs.
Of course, the present invention is not limited to the type of media signals transferred to the STB 14 or the means by which the signals are transferred. The present invention contemplates a number of features and configurations, including signal transmission over public switching telephone networks, digital subscriber lines, fibre optic lines, wireless transmitters, satellite transmitters, and the like. Moreover, the present invention is not limited to a particular STB 14 configuration. Rather, any number of STBs 14 are operable with the present invention, including STBs 14 that provide functionality beyond merely acquiring channels, such as STBs 14 having digital video recorders (DVRs).
FIGS. 2-3 illustrate a first channel map 40 and second channel map 44 for a first EPG vendor 26 in accordance with one aspect of the present invention. The channel maps 40 and 44 are downloaded from the headend controller 24 to an STB 14. The first and second channel maps 40 and 44 are used independently in different geographical areas supported by the same headend controller 24. Each map 40 and 44 is separately and selectively downloaded to each STB 14 by the headend controller 24, such that the first channel map 40 is downloaded to a first STB 14 in a given geographical area and the second channel map 44 is downloaded to a second STB 14 in a different geographical area.
The channel maps 40 and 44 are preferably stored in the memory 32 of each STB 14. Each channel map 40 and 44 includes a channel number column 48, a call sign column 50, and a source ID column 52. The channel number column 48 includes a use portion 54 that indicates channels that can be tuned to by the STB 14 for tuning in a desired channel. The call sign column 50 indicates the provider of the associated channel, such as ABC, CBS, NBC, FOX, and ESPN. The source ID column 52 indicates the source ID associated with a particular call sign for the first EPG 26, i.e. the ABC is associated with source ID 10,001, FOX is associated with source ID 10,004, etc.
The first and second channel maps 40 and 44 are required because each geographical area includes different channel numbers for a particular call sign. For example, the first channel map associates ABC with channel number 3 and the second channel map associates ABC with channel number 2. The different channels for the same call sign is a common occurrence where the headend controller 24 supports different geographical areas because channel designations vary based on factors including cable business rules determining channel ordering, as well as channel and network availability.
The source IDs correspond with a predefined numerical value assigned by the first EPG vendor 26 for associating EPG content information with each channel based on the call sign associated with the channel. A single source ID can be used for both the first and second channel maps 40 and 44 because the source IDs are associated with the call signs, as opposed to the channel numbers. The headend controller 24 configures the channel maps to include the source IDs specified by the first EPG vendor 26.
FIG. 4 illustrates an EPG content map 60 that depicts EPG content information provided by the first EPG vendor 26 in accordance with one aspect of the present invention. The EPG content map includes a source ID column 64, a date column 66, a time column 68, a program title column 70, and a program description column 72. Each column 64-72 provides EPG content information that can be used by the STB 14 for display to the user. The EPG content information is retrievable based on the source IDs determined from one of the channel maps 40 and 44. The EPG content map 60 shown in FIG. 4 is abbreviated to only show a sampling of the content information and the map 60 includes other information and columns, including at least EPG content information for each call sign supported by the headend controller 24. The EPG content information shown in FIG. 4 represents only a portion of the EPG content information, and more or less information is contemplated by the present invention.
FIG. 5 illustrates a conversion table 80 in accordance with one aspect of the present invention. The conversion table 80 is a table stored in the memory 32 of the STB 14 and is separately and selectively downloaded by a second EPG vendor 26 to each STB 14 serviced by the headend controller 24 in the event that the STB 14 is to change EPG vendors from the first EPG vendor 26 to a second EPG vendor 26′. Alternatively, the conversion table 80 can be downloaded to the STB 14 from the headend controller 24 after the headend controller 24 receives the conversion table 80 from the second EPG vendor 26′ and/or if the headend controller 24 constructs the conversion table 80 itself. The conversion table 80 is provided so that the source IDs supported by the second EPG vendor 26′ can be determined by the STB 14 without requiring the headend controller 24 to substantially change the first and second channel maps 40 and 44.
The conversion table 80 includes a channel map column 84, a channel number column 86, and a source ID column 88. The channel map column 84 refers to one or more of the channel maps supported by the headend controller 24, such as the first and second channel maps 40 and 44 described above. The channel number column 86 indicates the channel numbers supported by each channel map 40 and 44. The source ID column 88 indicates the source IDs for the channels associated with the second EPG vendor 26′. As shown, the source ID column 88 includes source IDs having a nine-thousand series designation, as opposed to the source IDs shown in FIGS. 2-3 that have a ten-thousand series designation. For example, and with respect to the first channel map 40, the first EPG vendor 26 associates ABC and FOX with source IDs 10,001 and 10,004, whereas the second EPG vendor 26′ associates ABC and FOX with source IDs 9,001 and 9,004.
When the EPG vendor is changed from the first EPG vendor 26 to the second EPG vendor 26′, the STB 14 is to retrieve EPG content information from the second EPG vendor 26′ instead of the first EPG vendor 26. This can create a problem because the second EPG vendor 26′ associates different source IDs with the available channels. The conversion table 80 overcomes this problem by providing a means for mapping a request for EPG content information to the source IDs of the second EPG vendor 26′.
One aspect to supporting the change in EPG vendors is to instruct the STB 14 that it is to use the conversion table 80, as opposed to the channel maps 40 and 44, to determine the source IDs. The STB 14 can be instructed, for example, by the headend controller 24 delivering a change EPG vendor signal to the STB 14.
Returning to FIGS. 2 and 3, the change EPG vendor signal prompts the STB 14 to recognize a non-use channel portion 92 of the channel map 40 and 44 used by the STB 14. The non-use channel portion 92 corresponds with a number of hidden channels set aside for headend controller 24 signaling operations, such as channels 601-699. Each non-use channel may preferably include an EPG vendor identifier in the call sign column 50 to indicate an EPG vendor 26, 26′ associated with the non-use channel. Preferably, a generic non-use source ID, such as 99,999, is associated with each EPG vendor identifier to provide a unique identifier for the vendor. Preferably, the non-use portion 92 of the channel map 40 and 44 includes one non-use channel and thereby one EPG vendor identifier. The use of multiple non-use channels, however, is contemplated and additional control logic to support the use thereof is similarly contemplated so that more than one EPG vendor identifier can be included in the channel map 40 and 44. In addition to the headend controller 24 delivering the change EPG vendor signals to the STB 14, the second EPG vendor 26′ can be configured to deliver a similar signal to the STB 14. This allows the EPG vendor 26, 26′ to control operation of the STB 14, which can be helpful to ameliorate the processing demands on the headend controller 24. Still further, the STB 14 can be configured with an EPG conversion map application that operates on the STB 14 to receive the change EPG vendor signals from the headend controller 24 and/or the EPG vendor 26, 26′ and to perform processing in response thereto.
The recognition of the non-use channel indicates to the STB 14 that the first and second channel maps 40 and 44 are inactive for determining the source IDs and that the conversion table 80 is active for determining the source IDs. The STB application, however, maintains operational use of the channel maps 40 and 44 for determining the EPG vendor 26, 26′ that is to provide the EPG content information. In more detail, the STB 14 receives the change EPG vendor signals from the headend controller 24 and the conversion table 80 from the second EPG vendor 26′ and/or through the headend controller 24, it then receives a request for EPG content information and consults the appropriate channel map 40 and 44 to determine the EPG vendor identifier associated with the non-use channel of the relevant channel map 40 and 44, it then consults the conversion table 80 to determine the source ID for the proper EPG vendor, and it then finally retrieves the desired EPG content information from the second EPG vendor 26′ based on the source ID determined from the conversion table 80.
The use of the conversion table 80 is advantageous because it allows the headend controller 24 to change and mix EPG vendors 26, 26′ in the same plant without creating a new channel map or eliminating the source IDs associated with the original vendor. Rather, the headend controller 24 can request the second and subsequent EPG vendors 26, 26′ to create and support the conversion table 80 and deliver it to the headend controller 24 so that the headend controller 24 can download it to the appropriate STBs 14, whereby the headend controller 24 is only required to add or change the non-use channel populated in the non-use portion 92 of the relevant channel map 40 and 44, and provide this non-use channel information to the respective EPG vendor 26, 26′ to implement into their application.
FIG. 6 illustrates an EPG content map 96 that depicts EPG content information provided by the second EPG vendor 26′ in accordance with one aspect of the present invention. The EPG content map 96 includes the source ID column 64, the date column 66, the time column 68, the program title column 70, and the program description column 72. Each column provides 64-72 EPG content information that can be used by the STB for display to the user. The EPG content information is retrievable based on the source IDs determined from the conversion table 80.
While embodiments of the invention have been illustrated and described, it is not intended that these embodiments illustrate and describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention.

## Claims

1. A method comprising:
providing a first channel map to a first set-top box (STB) via a network, the first channel map comprising set of source identifications (IDs) associated with first EPG signals of a first EPG vendor, wherein a second set of source IDs are associated with second EPG signals of a second EPG vendor, the second set of source IDs being different from the first set of source IDs; and
providing a conversion table to the first STB, the conversion table including the second set of source IDs for acquiring the second EPG signals provided by the second EPG vendor.

2. The method of claim 1 wherein the first channel map comprises a non-content portion identifying a first signaling channel.

3. The method of claim 2 further comprising communicating a signal via the first signaling channel to instruct the first STB to use the second set of source IDs for acquiring the second EPG signals from the second EPG vendor.

4. The method of claim 3 further comprising providing a second channel map to a second STB, the second channel map including the first set of source IDs for acquiring the first EPG signals provided by the first EPG vendor.

5. The method of claim 4 further comprising including a second non content portion in the second channel map identifying a second signaling channel.

6. The method of claim 5 wherein the first and second channel maps comprise a content portion associating content channels with call signs.

7. The method of claim 6 wherein the call signs of each channel map are associated with the same source IDs in the first set of source IDs.

8. The method of claim 7 wherein at least a portion of the call signs in the first channel map are associated with content channels that are different from the content channels for the same call signs in the second channel map.

9. The method of claim 8 further comprising configuring the conversion table to include a first portion that associates the content channels of the first channel map with the second set of source IDs and a second portion that associates the content channels of the second channel map with the second set of source IDs.

10. A method to acquire electronic programming guide (EPG) signals, the method comprising:
providing a first channel map to a first set-top box (STB) over a network, the first channel map comprising a content portion identifying a plurality of content channels available over the network to the first STB and a first set of source identifications (IDs) associated with the content channels for use by the first STB in acquiring first EPG signals from a first EPG vendor, the first channel map further comprising a non content portion identifying a first signaling channel;
providing a conversion table to the first STB, the conversion table comprising a second set of source IDs associated with the content channels in the first channel map the second set of source IDs being useable to acquire second EPG signals from a second EPG vendor; and
communicating a signal on the first signaling channel instructing the first STB to use the second set of source IDs instead of the first set of source IDs.

11. The method of claim 10 further comprising providing a second channel map to a second STB, the second channel map including a second content portion identifying a plurality of content channels available over the cable network to the second STB and the first set of source IDs associated with the content channels for use by the second STB in acquiring the first EPG signals, the second channel map further including a second non content portion identifying a second signaling channel.

12. The method of claim 11 further comprising providing the conversion table to the second STB communicating a signal on the second signaling channel instructing the second STB to use the second set of source IDs. instead of the first set of source IDs. to acquire the second EPG signals.

13. The method of claim 11 wherein the content channels of the second channel map are different from the content channels of the first channel map.

14. The method of claim 11 wherein call signs are associated with each content channel in each channel map.

15. The method of claim 14 wherein the call signs in each channel map are associated with the same source ID in the first set of source IDs.

16. The method of claim 14 wherein at least a portion of the call signs in the first channel map are associated with content channels that are different from the content channels for the same call signs in the second channel map.

17. A method comprising:
providing a conversion table from a first electronic programming guide (EPG) vendor to a set-top box (STB) via a network, the conversion table comprising a first set of source identifications (IDs) associated with at least a portion of a plurality of channels in a channel map, the first set of source IDs being usable for acquiring first EPG signals from the first EPG vendor and the channel map associating the plurafty of channels with a second set of source IDs for acquiring second EPG signals from a second EPG vendor; and
communicating a signal on a signaling channel instructing the STB to use the first set of source IDs, instead of the second set of source IDs, for acquiring the first EPG signals from the first EPG vendor.

18. A method comprising:
receiving a channel map at a set-top box (STB), the channel map identifying a signaling channel and associating a first set of source identifications (IDs) with a plurality of content channels, the first set of source IDs being useable for acquiring first EPG signals from a first EPG vendor;
receiving a conversion table at the STB, the conversion table comprising a second set of source IDs associated with the content channels in the channel map, the second set of source IDs being useable for acquiring second EPG signals from a second EPG vendor;
receiving a signal on the signaling channel instructing the STB to use the second set of source IDs instead of the first set of source IDs; and
retrieving the second EPG signals from the second EPG vendor using the second set of source IDs.

19. The method of claim 18, wherein the conversion table is received from the second EPG vendor.

20. The method of claim 18, wherein the conversion table is received from a headend controller.

21. The method of claim 18, wherein the signal on the signaling channel is received from the second EPG vendor.

22. The method of claim 18, wherein the signal on the signaling channel is received from a headend controller.

23. The method of claim 18 wherein the first set of source IDs are different from the second set of source IDs.

24. The method of claim 18 further comprising retrieving the first EPG signals from the first EPG vendor using the first set of source IDs.

25. An apparatus comprising:
a processor;
a memory communicatively coupled to the processor and storing application instructions that, when executed, cause the apparatus to:
receive a channel map identifying a signaling channel and associating a first set of source identifications (IDs) with a plurality of content channels, the first set of source IDs being useable for acquiring first EPG signals from a first EPG vendor;
receive a conversion table comprising a second set of source IDs associated with the content channels in the channel map, the second set of source IDs being useable for acquiring second EPG signals from a second EPG vendor;
receive a signal on the signaling channel instructing use of the second set of source IDs instead of the first set of source IDs; and
retrieve the second EPG signals from the second EPG vendor using the second set of source IDs.

26. The apparatus of claim 25, wherein the apparatus is communicatively coupled to a media output device and wherein the apparatus causes presentation of the second EPG signals at the media output device.

27. The apparatus of claim 25, wherein the apparatus is communicatively coupled to a media output device and wherein the apparatus causes presentation of one of the plurality of content channels at the media output device.