Patent Publication Number: US-6993782-B1

Title: Program guide information and processor for providing program and channel substitution

Description:
This application claims the benefit of 60/144,414 filed Jul. 16, 1999. 

   FIELD OF THE INVENTION 
   This invention is related to the field of digital signal processing, and more particularly to the formation and processing of multimedia program guide information supporting program substitution and the provision of customizable composite virtual channels. 
   BACKGROUND OF THE INVENTION 
   Home entertainment systems which combine Personal Computer and television functions (PC/TV systems), are increasingly becoming, generic, User interactive, multiple source and multiple destination communication devices. For example, a PC/TV system may receive data from satellite or terrestrial sources comprising High Definition Television (HDTV) broadcasts, Multi-point Microwave Distribution System (MMDS) broadcasts and Digital Video Broadcasts (DVB). A PC/TV system may also receive and transmit data via telephone (e.g. the Internet) and coaxial lines (e.g. cable TV) and from both remote and local sources such as Digital Video Disk (DVD), CDROM, VHS and Digital VHS (DVHS™) type players, PCs, and many other types of sources. 
   In such a generic PC/TV entertainment system there is a need to provide a flexible method of adaptively creating virtual channels comprising events (e.g. programs) from different broadcast channels and other remote and local sources. There is also a need for broadcasters to be able to tailor programming and commercials to a particular User and geographic location. Such a system supports substitution of particular channels and events for alternative channels and events under the command of either a User or a broadcast network operator. This enables broadcast markets to be optimally segmented from a broadcaster&#39;s perspective and also allows User preferences to be accommodated. These needs and associated problems are addressed by a system according to the present invention. 
   SUMMARY OF THE INVENTION 
   A system of defining, creating and decoding composite virtual channels advantageously supports dynamic channel and event substitution. A method, for use in a decoder for acquiring a program conveyed on more than one broadcast channel, involves generating a program guide display. The program guide display lists programs being broadcast on a plurality of broadcast channels during specified broadcast time segments and also lists a particular program on both a first and a second broadcast channel. The particular program is acquired from the first broadcast channel in response to user selection of either of the first and second broadcast channels. A plurality of prioritized channel maps are used in substituting an alternative program for a first program on a broadcast channel. 

   
     In the drawing: 
       FIG. 1  shows an exemplary fictitious broadcast network comprising three cities. 
       FIG. 2  shows an exemplary channel line-up for the network of  FIG. 1 , according to the invention. 
       FIGS. 3 and 4  show a Channel Information Table (CIT) and a Channel map defined by a New Service Information table respectively, according to the invention. 
       FIG. 5  shows a decoder system for forming and decoding multimedia program data and program guide information, according to the invention. 
       FIG. 6  shows a flowchart of a method for forming and acquiring prioritized channel maps and substituting channels and programs, according to the invention. 
       FIG. 7  shows a program guide display listing a channel and a corresponding substitute channel and associated program tuning and acquisition information, according to the invention. 
   

   DETAILED DESCRIPTION OF THE DRAWINGS 
   Program specific information (PSI) includes program guide data and information for use in identifying and assembling individual data packets to recover the content of selected program channels. The program specific information is advantageously structured to support dynamic channel and event substitution and may be delivered along with program content by different service providers via the Internet, or via terrestrial, satellite or cable broadcast on a subscription or other pay per view basis. The program specific information advantageously incorporates additional tuning information associated with individual events to enable a video decoder to tune to an alternative channel frequency and acquire data elements comprising a program upon predetermined conditions. 
   A system employing such program specific information may be commanded to seamlessly switch channels (e.g. if the same program is being broadcast on different channels) to enable local advertisements to be viewed by a User rather than those of a remote station, for example. The channel substitution system may also be used to command one or more decoders in a broadcast network to tune to a single channel broadcast for specific information (e.g. emergency broadcast information, Presidents State of the Union address, etc.). The substitute program may also comprise different material such as Internet data, multimedia objects, logos and graphics from different sources. Alternatively, the channel substitution system may be used to dynamically create virtual channels tailored to a User&#39;s preferences or structured in accordance with a broadcaster&#39;s requirements. For this purpose a new composite virtual channel is created comprised of programs on different broadcast channels e.g. a channel composed of movies available on various broadcast channels such as NBC, ABC, CBS, FOX etc. 
   The principles of the invention may be applied to terrestrial, cable, satellite, Internet or computer network broadcast systems. Such systems may include, for example, non-MPEG compatible systems, involving other types of encoded datastreams and other methods of conveying program specific information. Further, although the disclosed system is described as processing broadcast programs (events), this is exemplary only. The term ‘program’ (or event) is used to represent any form of packetized data such as audio data, telephone messages, computer programs, Internet data or other communications, for example. 
   Hereinafter, data referred to as being MPEG compatible conforms to the MPEG2 (Moving Pictures Expert Group) image encoding standard, termed the “MPEG standard”. This standard is comprised of a system encoding section (ISO/IEC 13818-1, 10th Jun. 1994) and a video encoding section (ISO/IEC 13818-2, 20th Jan. 1995). Further, data structure elements according to the invention principles may be conveyed in MPEG compatible format (per section 2.4.4 of the MPEG systems standard) or may be conveyed in a format compatible with the  Program Guide for Digital Television Standard , document A/55 published by the Advanced Television Systems Committee (ATSC), 3 Jan. 1996, (hereinafter referred to as the ATSC A55 standard) or other ATSC standards. Alternatively, the data structure elements may be formed in accordance with proprietary or custom requirements of a particular system. 
     FIG. 1  shows an exemplary fictitious broadcast network comprising three cities (Indianapolis, Kokomo and Fort Wayne). The network is a Multi-point Microwave Distribution System (MMDS) network but may also be a conventional terrestrial, cable, satellite or Internet broadcast network or other network, for example. The main head-end (Indianapolis) receives all national content channels (e.g. ESPN, HBO, etc.) as well as the local affiliate channels of the national networks (e.g. WISH is the local CBS, affiliate etc.). The head-end broadcasts this content to its customers in the greater Indianapolis area. As this MMDS network grows, it may expand into neighboring cities such as Kokomo and Fort Wayne. The main head-end (Indianapolis) would send its content to secondary head-ends in each of these cities. The broadcast carrier, in the secondary cities, may want to include it in its distribution, the local network affiliates from the secondary cities, as well as the network affiliate from Indianapolis. Specifically, in broadcasting multiple content streams, the local carrier may want viewers to watch one content stream instead of another. This may occur when the same program is being broadcast on the two different channels, for example. A local carrier with this capability is able to advantageously direct a User to watch local advertisements instead of national advertisements. 
     FIG. 2  shows an exemplary channel line-up for the network of  FIG. 1  showing channel line-ups in secondary cities (Kokomo and Fort Wayne) including the head-end national channels and local channels. In the secondary markets (Kokomo and Fort Wayne), a broadcast carrier may wish to dynamically substitute the local network affiliate in place of the Indianapolis network affiliate. This may be desired in the case when a nationally televised NBA basketball game is broadcast in each city on multiple channels, say on both the WRTV ABC and WXYZ ABC affiliates in Kokomo as shown in  FIG. 2 , for example. The WRTV and WXYZ program content differs in that the local commercials are different between the basketball game broadcasts on the two channels. A network carrier advantageously uses the channel substitution system to command video decoders in the secondary cities that are tuned to the Indianapolis affiliate (WRTV) to tune to the local affiliate (WXYZ-Kokomo) to advantageously maximize the dollar benefit for local advertisers. The video decoders are tuned away to the substitute channel for the duration of the basketball game event. 
   Program specific information (e.g. an Electronic Program Guide) is advantageously formed to provide a video decoder (e.g. a TV or Set-Top Box) the capability to tune away from receiving a current video program to receive an alternative program (or event). Program specific information is typically arranged in a sequence of hierarchical, inter-linked tables. An exemplary ATSC A55 standard compatible hierarchical table arrangement includes a Master Guide Table (MGT), a Channel Information Table (CIT), Event Information Tables (EITs) and optional tables such as Extended Text Tables (ETTs). The MGT contains information for acquiring program specific information conveyed in other tables such as identifiers for identifying data packets associated with the other tables. 
   The CIT, as exemplified in  FIG. 3 , contains information for tuning and navigation to receive a User selected program channel and associates a physical transmission channel (PTC) carrier frequency (item  305 ) with data identifiers (item  310 ) used to capture datastreams constituting programs conveyed on the transmission channel. The EIT contains descriptive lists of programs (events) receivable on the channels listed in the CIT. Program (event) titles are defined within the EIT using multiple compressed strings supporting multi-lingual program text descriptions (e.g. in English, Spanish, French, etc.) to cater to User language preference. The ETT contains text messages describing programs and program channels. Additional program specific information describing and supplementing items within the hierarchical tables is conveyed within descriptor information elements. 
   Program specific information is advantageously structured to support dynamic channel and event substitution as well as to support the creation of composite virtual channels by incorporating New Service Information (NSI) exemplified in  FIG. 4 . The new service information contains the tuning information that a video decoder requires to tune to a desired alternative program. The new service information comprises a channel map that associates an alternative physical transmission channel (PTC) carrier frequency (item  405 ) with data identifiers (item  410 ) used to capture datastreams constituting alternative programs conveyed on the alternative transmission channel. The new service information enables an alternative program/channel to be substituted for another program/channel in response to a number of different conditions. These conditions include, for example, (a) predetermined channel map priority, (b) a User program/channel preference profile, (c) a substitution profile downloaded from a remote head-end or a command from a head-end and (d) in response to geographic region information. 
   In the described ATSC A55 standard compatible embodiment, the new service information is hierarchically linked to individual programs listed in an Event Information Table via an unused language indicator within a multiple compressed string table associated with the Event Information Table. The language indicator is used within a video decoder to indicate that new service information is available for a particular program and is used to command the decoder to tune away from the current program and channel to receive the alternative program and channel listed in the new service information. This program and channel substitution occurs under the predetermined conditions previously described. In other embodiments, the new service information may be directly linked to programs within the event information table itself or may be linked to individual events via a variety of other mechanisms such as via other tables (e.g. by being associated with program packet identifiers (PIDs) or a channel PTC in the channel information table) or associated descriptor information. Further, the new service information may be linked to channels listed in a channel information table to substitute one channel for another channel, or to substitute a group of events for another group of events and is not limited to the substitution of an individual event for another. 
   A program specific information data structure incorporating the new service information comprising substitute program/channel mapping data may also be advantageously used to dynamically (and seamlessly) create composite virtual channels. Such virtual channels do not require additional transmission bandwidth but are comprised of programs, Internet data, multimedia objects, logos and graphics that are transmitted from different sources including different broadcast channels. A virtual channel may include web pages, text data, video clips, audio clips, animation or conventional programs tailored to a User&#39;s preferences or structured in accordance with a broadcaster&#39;s requirements, for example. Such a channel may comprise a football channel, where all the football games on other channels are consolidated. No time displacement is involved and a program that is shown on the composite virtual channel simultaneously appears on at least one other channel. 
     FIG. 5  shows a decoder system for forming and decoding multimedia program data and program guide information. The decoder system receives program data and program guide information from satellite, cable and terrestrial sources including via telephone line from Internet sources, for example. In the decoder system of  FIG. 5  (system  20 ), a terrestrial broadcast carrier modulated with signals carrying audio, video and associated data representing broadcast program content is received by antenna  10  and processed by unit  13 . The resultant digital output signal is demodulated by demodulator  15 . The demodulated output from unit  15  is trellis decoded, mapped into byte length data segments, deinterleaved and Reed-Solomon error corrected by decoder  17 . The corrected output data from unit  17  is in the form of an MPEG compatible transport datastream containing program representative multiplexed audio, video and data components. The transport stream from unit  17  is demultiplexed into audio, video and data components by unit  22  which are further processed by the other elements of decoder system  100 . These other elements include video decoder  25 , audio processor  35 , sub-picture processor  30 , on-screen graphics display generator (OSD)  37 , multiplexer  40 , NTSC encoder  45  and storage interface  95 . In one mode, decoder  100  provides MPEG decoded data for display and audio reproduction on units  50  and  55  respectively. In another mode, the transport stream from unit  17  is processed by decoder  100  to provide an MPEG compatible datastream for storage on storage medium  98  via storage device  90 . In an analog video signal processing mode, unit  19  processes a received video signal from unit  17  to provide an NTSC compatible signal for display and audio reproduction on units  50  and  55  respectively. 
   In other input data modes, units  72 ,  74  and  78  provide interfaces for Internet streamed video and audio data from telephone line  18 , satellite data from feed line  11  and cable video from cable line  14  respectively. The processed data from units  72 ,  74  and  78  is appropriately decoded by unit  17  and is provided to decoder  100  for further processing in similar fashion to that described in connection with the terrestrial broadcast input via antenna  10 . 
   A user selects for viewing either a TV channel or an on-screen menu, such as a program guide, by using a remote control unit  70 . Processor  60  uses the selection information provided from remote control unit  70  via interface  65  to appropriately configure the elements of  FIG. 5  to receive a desired program channel for viewing. Processor  60  comprises processor  62  and controller  64 . Unit  62  processes (i.e. parses, collates and assembles) program specific information including program guide and system information and controller  64  performs the remaining control functions required in operating decoder  100 . Although the functions of unit  60  may be implemented as separate elements  62  and  64  as depicted in  FIG. 5 , they may alternatively be implemented within a single processor. For example, the functions of units  62  and  64  may be incorporated within the programmed instructions of a microprocessor. Processor  60  configures processor  13 , demodulator  15 , decoder  17  and decoder system  100  to demodulate and decode the input signal format and coding type. Units  13 ,  15 ,  17  and sub-units within decoder  100  are individually configured for the input signal type by processor  60  setting control register values within these elements using a bi-directional data and control signal bus C. 
   The transport stream provided to decoder  100  comprises data packets containing program channel data and program specific information. Unit  22  directs the program specific information packets to processor  60  which parses, collates and assembles this information into hierarchically arranged tables. Individual data packets comprising the User selected program channel are identified and assembled using the assembled program specific information. The program specific information contains conditional access, network information and identification and linking data enabling the system of  FIG. 5  to tune to a desired channel and assemble data packets to form complete programs. The program specific information also contains ancillary program guide information (e.g. an Electronic Program Guide—EPG) and descriptive text related to the broadcast programs as well as data supporting the identification and assembly of this ancillary information. 
   Processor  60  assembles received program specific information packets into multiple hierarchically arranged and inter-linked tables. The hierarchical table arrangement includes a Master Guide Table (MGT), a Channel Information Table (CIT) as exemplified in  FIG. 3  as well as Event Information Tables (EITs) and optional tables such as Extended Text Tables (ETTs). The hierarchical table arrangement also incorporates new service information (NSI) according to the invention. As previously discussed, the NSI is hierarchically linked to individual programs listed in an Event Information Table via an unused language indicator within multiple compressed string tables associated with individual events in the Event Information Table. The language indicator is used within a video decoder to indicate that new service information is available for a particular program and is used to command the decoder to tune away from the current program and channel to receive the alternative program and channel listed in the new service information. The resulting program specific information data structure formed by processor  60  via unit  22  is stored within internal memory of unit  60 . 
     FIG. 6  shows a flowchart for forming and acquiring prioritized channel maps and substituting channels and programs. Specifically,  FIG. 6  shows a flowchart involving forming packetized program data by an encoder (step  205 ) and decoding and processing the packetized program data (steps  210 – 233 ) using system  20  ( FIG. 5 ) under direction of processor  60 . A system employing the channel and program substitution method of  FIG. 6  advantageously enables dynamic creation of virtual channels including multimedia (e.g. Internet content) information tailored to a User&#39;s preferences as well as the substitution of local advertisements to replace national broadcast advertisements, for example. In step  205 , following the start at step  200 , packetized program data including ancillary program specific information, is formed at an encoder for broadcast to decoding units such as set-top boxes or TVs, for example. The ancillary program specific information incorporates multiple prioritized channel maps (such as the CIT shown in  FIG. 3  and the NSI as shown in  FIG. 4 ) that advantageously enables dynamic channel and program substitution. 
   Following transmission of the packetized program data and its reception by system  20  ( FIG. 5 ), processor  60 , in step  210  ( FIG. 6 ), directs system  20  in acquiring the program specific information including prioritized channel maps. The channel maps associate packet identifiers (PIDs) of datastreams constituting a program with a physical transmission channel (PTC) and corresponding carrier frequency used for conveying the datastreams. In step  215 , the acquired program specific information, including prioritized CIT and NSI channel maps and EIT and ETT information and associated descriptors, is used by processor  60 , sub-picture processor  30  and OSD processor  37  ( FIG. 5 ) in generating a program guide listing for display on reproduction device  50  via multiplexer  40  and NTSC encoder  45 . An exemplary generated program guide listing is shown in  FIG. 7 . 
     FIG. 7  shows a generated program guide display that lists a channel and its substitute channel and associated program tuning and acquisition information for Kokomo in the MMDS broadcast network shown in  FIGS. 1 and 2 . The displayed guide shows Kokomo video programming for Thursday May 27, 1999 between 8:00 and 10:00 PM. In this example, program item  705  on channel 2 from 8:00 PM to 10:00 PM is associated with new service information for the Pacers v. Knicks game. 
   Continuing with step  220  of  FIG. 6 , processor  60  ( FIG. 5 ) responds to a User&#39;s selection of channel 2 for viewing by selecting a channel map for use in channel and program acquisition. Note, the User may select channel 2 for viewing by making an icon selection in the exemplary guide of  FIG. 7  or by any other data entry method. In step  220  processor selects the channel map conveyed within the new service information (in preference to the use of CIT channel map information) based on a predetermined channel map priority and uses this information to substitute an alternative program and channel for program item  705  on channel 2. In other embodiments, processor  60  may select the channel map to be used based on, (a) a User program or channel preference profile, (b) a substitution profile downloaded from a remote head-end or a command from a head-end and (c) in response to geographic region information e.g. a map substituting one or more channels and programs of one region for those of another region. 
   In step  225 , processor  60  uses the new service information selected in step  220  to substitute the Pacers v. Knicks game broadcast on channel 12 containing local advertisements for the same game being broadcast on channel 2 containing national advertisements. Thereby, the local carrier is able to advantageously maximize advertisement revenue. A User tuned to channel 2 program item  705  ( FIG. 7 ) is tuned away from the current PTC/Audio PID/Video PID to a new set of parameters (PTC=18, A/V PIDs=110/111) conveyed in the NSI and corresponding to channel 12 program item  710 . In step  225 , processor  60  in conjunction with units  13 ,  15 ,  17  and demultiplexer  22  ( FIG. 5 ) tunes to receive channel 12 and acquire packets comprising the alternative Pacers v. Knicks game broadcast on channel 12. The identified packets are decoded by unit  25  and processed by NTSC encoder  45  (via multiplexer  40 ) and the resulting image data, comprising the Pacers v. Knicks game, is displayed on unit  50  ( FIG. 5 ). Upon termination of the substitute Pacers v. Knicks game in step  233 , processor  60  directs system  20  to re-tune to channel 2 to receive the news program on this channel (e.g. on PTC=6, A/V PIDs=110/111). The seamless nature of the channel and program substitution means that the User may be unaware of the substitution. The method of  FIG. 6  terminates at step  235 . 
   The architecture of  FIG. 5  is not exclusive. Other architectures may be derived in accordance with the principles of the invention to accomplish the same objectives. Further, the functions of the elements of decoder  100  of  FIG. 5  and the process steps of  FIG. 6  may be implemented in whole or in part within the programmed instructions of a microprocessor. In addition, the principles of the invention apply to any form of MPEG or non-MPEG compatible electronic program guide. A datastream formed according to the invention principles may be used in a variety of applications including video server or PC type communication via telephone lines, for example. A program datastream with one or more components of video, audio and data formed to incorporate program specific information according to invention principles may be recorded on a storage medium and transmitted or re-broadcast to other servers, PCs or receivers.