Abstract:
Methods, systems, and products are disclosed for automated control of devices. A tag is received with Electronic Programming Guide data, and the tag includes control data. The tag is stripped from the Electronic Programming Guide data and communicated to a device.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. application Ser. No. 09/752,267, filed Dec. 29, 2000 and entitled “Methods and Systems for Controlling Consumer Electronics External Devices via Data Delivered to a Device,” now issued as U.S. Pat. No. 7,140,033, and incorporated herein by reference in its entirety. This application also claims the benefit of U.S. Provisional Patent Application No. 60/213,058, filed Jun. 21, 2000, and incorporated herein by reference in its entirety. This application also claims the benefit of U.S. Provisional Patent Application No. 60/214,529, filed Jun. 27, 2000, and incorporated herein by reference in its entirety. 
    
    
     TECHNICAL FIELD 
     This invention deals with methods and systems for delivering and executing at a Set Top Box (“STB”) or other consumer electronic device, control or program data, whereby the STB interfaces with various external devices for sending or receiving instructions or information to those devices. Exemplary embodiments are illustrated, including methods and systems for supplementing delivered programming with Internet programming via a PC or Internet appliance coupled to the STB, controlling environmental equipment such as home theater equipment, and managing programming scheduling via interface with a personal digital assistant (“PDA”). 
     BACKGROUND OF INVENTION 
     Modern cable, satellite, wireless or other communications networks deliver a host of programming content and other data to viewers&#39; premises, each of which generally is outfitted with a STB or Consumer Electronics device (“CE device”) for decoding and displaying the programming. STBs are usually low-cost devices and, due to engineering constrains, presently lack the necessary processor speed, memory and components to support Internet applications or advanced data gathering capabilities. However, many STBs do have the capability to communicate with an external device through one of several communication mechanisms, such as an IR blaster, serial port, modem, or expansion bus peripheral. These communication devices have not in the past been used for much more than entering typical scheduling and control data into the STB, however. 
     Scheduling has been made easier because part of the programming delivered to STBs are Electronic Program Guides (“EPGs”). These guides provide a viewer with program scheduling information, e.g. a program&#39;s channel or other characteristics of the program such as whether the program supports particular protocols like Dolby AC-3 sound, etc. EPGs also can be used to accomplish other useful tasks, such as instructing a STB to tune to a program based on user preferences or instructing a VCR to record a program. Indeed, some EPGs offer the ability to create reminders for program start times. These reminders usually appear as visual alerts on the television screen when the program is about to begin. However, if the user is not watching television at the time these alerts occur, they are of little value. 
     SUMMARY OF THE INVENTION 
     Certain terms used in this section are described more fully below, particularly in the “Terminology” session. This invention aims to provide systems and methods to leverage existing technologies located at a viewer&#39;s premises, e.g., the viewer&#39;s PC, existing PC Internet connection, STB, and existing EPG data delivery format, to deliver, receive and act upon information and instructions for certain external devices. Exemplary implementations are described where: (1) an STB is connected to a viewer&#39;s PC and an application, residing on the STB, retrieves data from the PC using special tags embedded in EPG program data or accesses a host of special Internet related applications while viewing other programming; (2) an STB makes use of information added to or already included in EPG program data to control aspects of the user&#39;s home theater environment during a TV program; (3) an STB communicates with an application on a Personal Digital Assistant (PDA) to set reminders about programming, for example, start times, etc. or download program information to the PDA for storage and display, etc. 
     Program Supplementation: In one embodiment, control tags are inserted into the data stream that provides STBs with the EPG data. An application residing on the STB identifies the control tags, strips them out and processes the instructions therein. The instructions may cause the STB to communicate with a PC, Internet appliance or other computing device that has been coupled to the STB via any of various known communication mechanisms. The STB thereby can take advantage of the functionality, processing power and display capabilities of the computing device. Using this capability, an STB can supplement its limited capabilities by using the processing power of the PC and the information gathering ability of a PC connected to the Internet. By way of example, tags delivered to the STB may cause it to retrieve Internet data via the user&#39;s PC or Internet appliance. That Internet data can be used to supplement EPG data on the STB or display data synchronized to a currently playing event. Alternatively, retrieved Internet data may be stored on the PC for immediate or later viewing. 
     Environmental Control: In another embodiment, the tags embedded in the EPG data stream (or the programming itself) comprise certain control data that correlate to a particular program or event. The control data describes how the user&#39;s home theater equipment (e.g., stereo, wall-screen TV, thumpers, scent extractors, etc.) should be optimally controlled during the program presentation. Control data can be used to do such things as configure home audio equipment to best accommodate a program&#39;s soundtrack, adjust TV picture settings, automate room lighting, mute commercials, or even “censor” portions of a TV program. 
     PDA Interfacing: Many people now carry PDAs, which provide scheduling and task management capabilities. This invention also provides methods for allowing external devices like PDAs to interface with the STB in order to display alerts or other information concerning programming using the PDA unit&#39;s built-in calendar and alarm capabilities. Similarly, the PDA may be configured to send information to the STB application, for example, instructing it to set reminders for programs or to automatically record programs on a VCR, DVR or other storage medium. 
     This invention aims to achieve one, combinations, or all of the following objectives:
         To formulate program control data associated with discrete portions of programming, which contain information related to controlling presentation of the programming by controlling the manner in which various home theater or other display and audio devices should be controlled;   To provide an STB that receives and processes control data and communicates instructions therefrom to external devices coupled to the STB;   To formulate control data that describes when and how to access supplemental program data, such as data from an Internet Website, via a user&#39;s PC, Internet appliance or other computing device;   To provide methods for coupling an STB to a user&#39;s PC, Internet appliance or other computing device in order to exchange information and instructions.
 
Other objects, advantages and features of this invention will be apparent from review of the remainder of this document, including the drawings.
       

    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a diagram illustrating an embodiment of a system for controlling a home automated network using EPG tag information according to the present invention. 
         FIGS. 2A-C  are diagrams illustrating methods of connecting the STB to the home automated network described in  FIG. 1 . 
         FIG. 3  is a diagram illustrating an embodiment of a system for facilitating communications between a STB and a PDA according to the present invention. 
         FIGS. 4A-C  are diagrams illustrating methods of connecting the STB to the PDA described in  FIG. 3 . 
         FIG. 5  is a diagram illustrating a networked control system, including a PC, according to the present invention. 
         FIGS. 6A-E  are diagrams illustrating methods for connecting the STB to the PC described in  FIG. 5 . 
     
    
    
     DETAILED DESCRIPTION 
     I. Terminology: 
     Before further describing a particular implementation of the present invention that is shown in the drawings, the following terms are explained, although more thorough understanding of the terms can be reached by resorting to this entire document. These term explanations are not intended to be conclusive, as technology will change and skilled persons will recognize other ways to implement the same functionality.
         “Communications network” includes any network or infrastructure that supports communications between multiple devices, including broadband distribution networks, public or private packet-switched or other data networks, including the Internet, or circuit-switched networks such as the public switched telephone network and wireless networks.   “Consumer electronics device” or “CE device” is any electronic device or combination of devices capable of receiving, displaying, playing, presenting, recording, deleting, editing, substituting, or disabling audio and/or video content. Exemplary CE devices include: televisions, personal computers, cable set-top boxes, video cassette recorders, digital video recorders, digital video disc players, compact disc players, and personal computers.   “Content data” is any information corresponding to at least a portion of a program and related to the content of the program, including content ratings and content attributes, traits, or characteristics.   “Control data” is any information corresponding to at least a portion of a program and related to the manner in which the portion may be disabled, modified, replaced, deleted, edited, or otherwise modified by a consumer electronics device, set top box or the like.   “Program” or “Programming” is any electronic presentation of information, such as text, audio, video, graphics, or any other form of multimedia, over a communications network. Exemplary programming includes: Internet programming, television broadcasts, cable television programming, pay-per-view programming, video-on-demand, interactive television programming, satellite programming, and multimedia presentations.   “Program data” means content or control data or other data associated with or describing the content or manner of presentation of programming.   “Service provider” is any entity that delivers programs to a program viewer, including cable providers, television broadcasters, satellite providers, and entities supporting Internet World Wide Web (“Web”) sites.
 
II. System Overview—EPG Environmental Control
       

     Briefly,  FIGS. 1 ,  3  and  5  show system components for delivering data that controls various devices that assist in the optimal presentation of programming. In the subscriber&#39;s premises, a Set-Top Box  3  connects through a distribution network  2  to a headend  1 . Set-Top Box  3  also connects to the subscriber&#39;s consumer electronic (CE) device  4 , for example a VCR, stereo, computer, etc. and/or home automation network  5 . The CE device  4  is in turn connected to the Internet through an Internet service provider. As skilled persons will acknowledge, instead of STB  3 , the invention could be implemented using software and hardware associated with a CE Device, such as a TV  8 . 
     A. STB—CE Device Connection 
     Set-Top Box  3  can be connected to CE device  4  and/or home automation network  5  through a variety of means. Some detailed examples are listed below. The hardware details of the STB-home theater connection are provided here for technical reference only and the invention is not limited to such details.
         1) Using an IR blaster connected to the STB&#39;s IR blaster port, the STB may use IR signals to communicate with consumer electronic devices such as a stereo amplifier or a home automation network. ( FIGS. 2A )   2) Using the STB&#39;s serial port, the STB may connect to a peripheral that converts the RS-232 signals used by the STB into a standard signal used by CE devices and home automation networks. Such signals include signals in the IEEE 1394 (aka: Firewire) or CEBus ( FIGS. 2B ) formats.   3) Using the STB&#39;s expansion bus, the STB could be connected to the peripheral described above, as shown in ( FIG. 2C ).       

     B. DataTags 
     Headend  1  houses an EPG Data Server  6  that collects program data from a data provider. The program data includes information on each TV program such as the program title, start time, duration and description. EPG Data Server  6  sends the program data through distribution network  2  to Set-Top Box  3  located in the subscriber premises. Some of the applications listed in the next section may be accomplished by using information already contained within the EPG data, such as a program&#39;s start time and Dolby AC-3 indicator. However, specific control by the EPG must be carried out using special data referred to as “tags,” which according to this invention are added to EPG program data to provide more detailed information on controlling the user&#39;s home theater environment. The tags instruct the STB application to send control information to specific CE devices and/or home automation networks during the course of a program. For instance, a tag may instruct the STB to configure a stereo amplifier, adjust the TV picture, and dim the lights at the start of a program. A tag may also indicate times at which commercials or possibly objectionable content occurred during a program and send instruction to a TV to mute or blank those portions of the program. 
     The tags may be added to the EPG data by the EPG data provider or could be added by an optional device in headend  1  referred to as the “Home Control Tag Server”  7 . In this latter case, the EPG Data Server  6  sends the EPG data to the Home Control Tag Server  7 , which in turn inserts special data referred to as “tags” into the program data for particular TV programs. 
     Tags may be classified as fixed or variable tags; “Fixed Tags” specify a parameter for the entire length of a program while “Variable Tags” vary a parameter at different times during a program. An example of a variable tag would be one that mutes TV commercials. 
     The tag would be encoded as a special ASCII string and could include the following elements:
         1) Command. A command may be an instruction that an applet on the STB send control instructions to specific CE devices and/or a home automation network. For instance, the command could be “Switch Tuner to Dolby Surround Sound.”   2) Parameters. Each command could have one or more parameters associated with it. For instance, “raise Dolby sound to level 5.”   3) Start Offset and Duration. A command could have a start offset and duration associated with it to indicate when the command becomes active during the course of a program. (A negative start offset could be used to indicate that the command becomes active before a program begins.) More than one start offset and duration could be provided to make a command active during different portions of a program (e.g. mute commercials).       

     A detailed example of a possible tag format follows, although many different tag formats and instructions are possible: 
                                             &lt;command [param1, param2,...] &gt;           -or-           &lt;OFFSET start1;duration1, [start2;duration2, start3;duration3 ...] &gt;            &lt;command [param1, param2,...] &gt;           &lt;/OFFSET&gt;                        
In this example,
         “&lt; &gt;” indicates the beginning and end of a tag.   “Command” indicates an instruction to the STB application.   “Param” indicates a parameter associated with the command.   “OFFSET” and “/OFFSET” is used to indicate that the enclosed command(s) begin at some offset from the beginning of the program.   “Start” is the starting offset from the beginning of the program.   “Duration” is the length of time the command is valid from the specified “Start” offset. If Duration is not specified, the command remains in effect until the end of the program or until some other event occurs.       

     Here are some examples of how this tag format could be used to instruct the STB to configure home audio equipment and lighting for a Pay-Per-View event:
         PPV Command: &lt;LT1 50%&gt; &lt;ST_VOL 20%&gt; &lt;ST_EQU 80,50,60,65,70&gt; &lt;ST_SUR AC3&gt;
 
In the PPV Command:
   “LT1”, “ST_VOL”, “ST_EQU”, and “ST_SUR” are instructions to set room lighting, stereo volume, stereo equalization, and stereo surround sound, respectively when the program begins.   “50%”, “20%”, “80,50,60,60,70”, and “AC3” are parameters used by each of the above instructions.
           Block Command: &lt;OFFSET 00:05:13; 5, 00:19:32; 20&gt; &lt;BLOCK-MUTE PG-13&gt; &lt;/OFFSET&gt;
 
In the Block Command:
   
           “BLOCK-MUTE” is a command to mute objectionable portions of a program if the user has the option activated.   “PG-13” is the rating level the user&#39;s STB setting would have to match or exceed in order for the muting to take place.   “00:05:13; 5, 00:19:32; 20” are two different start offset and duration pairs, meaning that the command will be active at two different times during the program.       

     Tags may be inserted into a variety of places in the program data. A new data field could be created to accommodate the tags or the tags could be added to an existing EPG data field such as the program description. The latter option is optimal since it can use existing EPG data formats such as DVB-SI. 
     For instance, the tag could be encoded as an ASCII text string and added to the end of a program&#39;s description. The STB application would recognize the tag and act on its instructions. However, the STB application would not display the actual tag string to the subscriber when the subscriber displays the program description. 
     C. System Capabilities 
     Using the system described above, a number of control capabilities may be programmed into the EPG data allowing a broadcast provider to offer new and enhanced programming and supplemental products. In addition, users are able to optimize and enhance their television programming. For example, the user could have the ability to adjust, enable or disable any aspect of any application listed below. For instance, the user could disable automatic stereo control for all programs or make it active only for purchased IPPV programs. The following is a listing of some of the enhanced capabilities of the present invention:
         Stereo Amplifier Control. The STB application may use existing EPG data or special tags embedded in the program data to adjust a stereo amplifier. For instance, existing EPG data such as a program&#39;s AC-3 indicator could be used by the STB application to put the stereo into AC-3 mode during a program. Special tags could be added to program data to do such things as adjust the stereo volume, stereo equalizer, or speaker levels. At the end of the program, stereo settings could be restored to their original or default settings.   TV Control. The STB application could use tags embedded in the program data to adjust different aspects of a television set. For instance, tags could adjust picture or sound settings to best accommodate a particular program. At the end of the program, picture or sound settings could be restored to their original or default settings.   Lighting Control. The STB application could use existing EPG data such as a program&#39;s start and end times or special tags embedded in the program data to control room lighting. For instance, room lights could be set to automatically dim at the start of a purchased IPPV program and then brighten at the end of the program. Also, special tags could instruct the STB application to brighten room lights during TV commercials, allowing the user to find their way to the kitchen.   Other Home Automation Control. The STB application could use existing EPG data such as a program&#39;s start and end times or special tags embedded in the program data to control other parts of a home automation network. For example, at the start of a program, the STB application could automatically mute a telephone ringer, adjust window shades, adjust room temperature, or activate a popcorn popper.   Commercial Mute/Replace. The STB application could use tags embedded in the program data to mute volume, or tune to a special channel or video input during TV commercials.   Dynamic Parental Controls. The STB application could use tags embedded in the program data to mute or blank portions of a program that exceed a certain parental control rating.   On-Screen Graphics and PIP Display. The STB application could use tags embedded in the program data to enable or disable on-screen displays generated by the STB or some other consumer electronics device. Also, tags could be used to automatically enable, disable or configure a Picture-in-Picture (PIP) display.   Motion Simulator. The STB application could use tags embedded in the program data to control a motion simulator or a feedback device such as a chair that vibrates.   Aroma Generator. The STB application could use tags embedded in the program data to control an aroma generator. The aroma generator could generate aromas that correspond to the content of a program.
 
III. System Overview—PDA Reminder Exchange
       

       FIG. 3  shows system components for connecting the STB to a PDA. In the subscriber&#39;s premises, a Set-Top Box  3  is connected through a distribution network  2  to a Headend or Transmission Facility  1 . Set-Top Box  3  is also connected to the subscriber&#39;s Personal Digital Assistant(PDA)  4 . An EPG Data Server  5  in the Headend or Transmission Facility  1  provides Set-Top Box  3  with program information on each TV program such as program title, start time, duration and description. 
     A. STB—PDA Connection 
     Set-Top Box  3  can be connected to a Personal Digital Assistant  4  through a variety of means. Some detailed examples are listed below. Note that the hardware details of the STB-PDA connection are not the main focus of this invention, which may be implemented over a number of platforms.
     1) Using an IR blaster connected to the STB&#39;s IR blaster port, the STB could send IR signals to a PDA with a built-in IR receiver. Also, the PDA&#39;s built-in IR transmitter could be used to send IR signals to the existing IR receiver on the STB for two-way communications. ( FIG. 4A )   2) Using the STB&#39;s serial port, the STB could be connected to a data communications port on the PDA. This means of communication would offer two-way data transmission. ( FIG. 4B )   3) Using a peripheral connected to the STB&#39;s expansion bus (e.g. an Ethernet card), the STB could be connected to a data communications port on the PDA. This means of communication would offer two-way data transmission. ( FIG. 4C )   

     B. System Capabilities 
     A STB application such as an Electronic Program Guide (EPG) would be enhanced to send and receive information to and from a PDA using the system described above. In this embodiment, the following applications could be supported.
         1) Set PDA Reminders. While watching television, the user sets reminders for current or future programming using the enhanced EPG application running on the STB. After program reminders are set, the user positions the PDA in front of the STB&#39;s IR blaster (or connects the PDA to the STB via some other hardware configuration, as shown in  FIGS. 4A-C , and the enhanced EPG application communicates these reminders to a special application residing on the PDA. The special PDA application adds the program reminder as an entry in the PDA&#39;s built-in calendar application. It also configures the calendar application to notify the user with a visual and/or audible alarm before the start of the program. Of course, instead of using the PDA&#39;s built-in calendar application, the special PDA application may be designed to perform these functions on its own.   2) Display EPG Info from the STB on the PDA. The enhanced EPG application residing on the STB sends EPG program data to software residing on the PDA for storage and display.   3) Schedule EPG Reminders or Recordings. After EPG program data has been sent to the PDA, the user sets program reminders and/or schedules program recordings on software residing on the PDA. At some point later in time, the PDA transmits the settings to the enhanced EPG application residing on the STB, which in turn sets program reminders and schedules program recordings within the EPG application.
 
IV. System Overview—PC InterLink
       

     Briefly,  FIG. 5  shows a variety of system components for connecting and communicating between a STB and a PC. In the subscriber&#39;s premises, Set-Top Box  3  is connected through distribution network  2  to Headend or Transmission Facility  1 . Set-Top Box  3  is also connected to the subscriber&#39;s Personal Computer (PC)  4 . PC  4  is connected to the Internet through an Internet service provider. Of course, instead of STB  3 , the invention could be implemented using software and hardware associated with some other CE Device such as a TV, VCR, or DVD Player. 
     A. STB—PC Connection 
     Set-Top Box  3  can be connected to Personal Computer  4 , in  FIG. 5 , through a variety of means. Some detailed examples are listed below.
         1) Using the IR blaster port, the STB could communicate with a PC using one of the following two means. These means of communication offer only one-way data transmission at slow speeds.
           (a) An IR blaster connected to the STB&#39;s IR blaster port could send IR signals to an IR receiver peripheral connected to a standard port on a PC. ( FIG. 6A )   (b) The STB&#39;s IR blaster port could send electrical signals directly to a peripheral connected to a standard port on a PC. The peripheral would translate the electrical signals sent out via the STB&#39;s IR blaster port into signals understood by one of the PC&#39;s standard ports. ( FIG. 6B )   
           2) Using the STB&#39;s serial port, the STB could be connected to the PC&#39;s serial port. This means of communication would offer two-way data transmission at moderate speeds. ( FIG. 6C )   3) Using a peripheral connected to the STB&#39;s expansion bus (e.g. an Ethernet card), the STB could be connected to a standard port on a PC. This means of communication would offer two-way data transmission. ( FIG. 6D )   4) Using the STB&#39;s modem phone port, the STB could communicate with a modem connected to the PC. This means of communication would offer two-way data transmission. ( FIG. 6E )       

     B. Data Tags 
     Referring to  FIG. 5 , Headend or Transmission Facility  1  houses an EPG Data Server  6  that collects program data from a data provider. The program data includes information on each TV program such as the program title, start time, duration and description. The EPG Data Server sends the program data to an “Internet Tag Server”  7  that inserts special data referred to as “tags” into the program data for particular TV programs. 
     The tags act as instructions to a STB application to retrieve Internet data from a PC. Before retrieving this data, the tag could include instructions for presenting the subscriber with different data retrieval options. For instance, a tag in the program data for a baseball game could instruct the STB to display options on the TV screen called “Batter Statistics” and “Pitcher Statistics.” If the subscriber selects the “Batter Statistics” option, the tag instructs the STB to retrieve statistics on the current batter from a PC connected to the Internet and display them on the TV screen. 
     A tag may include the following elements:
         1) Command. A tag would include a command such as “fetch Internet data from a PC” or “display a menu of data retrieval options to the subscriber.” Also, in addition to retrieving Internet data, commands could do other things such as “bookmark a web site on the subscriber&#39;s PC.” See the “System Capabilities” section below for further examples.   2) Command URL. A command could have a URL associated with it. The URL could be a normal Internet URL such as “www.bellsouth.com” or, to save memory, the URL could be represented in some shorthand notation, e.g. “wbls”, understood by the STB or PC applications.   3) Command Parameters. A tag command could have one or more parameters associated with it. For example, the command to display a menu of data retrieval options to the subscriber could have a parameter that indicates the format that the menu options are to be displayed in. Another parameter might indicate when the menu should be displayed.       

     For instance, a menu could be displayed while the subscriber is watching the TV program or when the subscriber calls up EPG information on the program.
         4) Menu Option Names. A tag could list the names of menu options to be displayed to the subscriber.   5) Menu Option Actions. A tag could include instructions on what to do if the subscriber selects a particular menu option. For instance, an action might be to retrieve and display a specific type of data from an Internet site.   6) Menu Option Parameters. A tag could include parameters for a menu option. For instance, a parameter could instruct the STB application on how to display results when a menu option is selected.
 
A detailed example of a possible tag format follows, although many different tag formats and instructions are possible.
       

     
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 &lt;command URL [param1, param2,...] &gt; 
               
               
                   
                  [&lt;menuoption1 action1 [param1,param2,...]&gt;, 
               
               
                   
                  &lt; menuoption2 action2 [param1,param2,...]&gt; 
               
               
                   
                  ... 
               
               
                   
                 &lt;/command&gt;] 
               
               
                   
                   
               
             
          
         
       
     
     Here is an example of how the tag format could be used to present the subscriber with menu options and retrieve supplemental EPG data for the movie “The Matrix”. The following represents an embedded command for that movie: 
                                             &lt;DISPMENU wbls/matrix descript, buttons1&gt;             &lt;”Director Bio” DispData=director box1&gt;             &lt;”Cast Notes” DispData=cast box1&gt;           &lt;/DISPMENU&gt;                        
In this example,
         “DISP MENU” is a command to display menu options for the program   “wbls/matrix” is shorthand notation for a special web URL setup to provide data for the program. In this example, “wbls/matrix” is shorthand notation for the web URL “www.bellsouthmovies.com/matrix”.   “descript, buttonsI” are command parameters. In this example, “descript” indicates that the menu should be displayed when the subscriber calls up the program&#39;s description box, and “buttons  1 ” indicates a standard format in which to display the menu options.   “Director Bio” and “Cast Notes” are the names of the menu options to display to the subscriber.   “DispData=director” and “DispData=cast” are the actions the STB application should take when the subscriber selects the menu options. In these cases, the STB application will retrieve data on the director or cast notes from the web URL “wbls/matrix” (“www.bellsouthmovies.com/matrix”).   “boxI” indicates the format in which to display the resulting data.       

     Tags can be inserted into a variety of places in the program data. A new data field could be created to accommodate the tags or the tags could be added to an existing EPG data field such as the program description. The latter option is optimal since it can use existing EPG data formats such as DVB-SI. For instance, the tag could be encoded as an ASCII text string and added to the end of a program&#39;s description. The STB application would recognize the tag and act on its instructions. However, the STB application would not display the actual tag string to the subscriber when the subscriber displays the program description. 
     C. System Capabilities 
     Using the system described above, the following capabilities could be supported:
         1) Supplemental program information. Existing EPG data for a current or future event is supplemented by data retrieved from a PC attached to the Internet. The additional data can be displayed on the TV screen as part of the EPG data or displayed on the PC screen in a special window. Multiple options may be presented. For example, the STB application may display a menu giving the subscriber the ability to retrieve data on a show&#39;s cast or call up trivia on the particular episode.   2) Real-time data. Data is synchronized to a currently playing event. For instance, current pitcher and batter statistics could be provided during a baseball game. The STB application could present a menu in the bottom corner of the screen allowing the subscriber to display statistics on either the pitcher or batter. If the subscriber selects an option, the STB application requests the information from the PC. The PC, in turn, visits a special web site that provides data that is specially formatted and synchronized to a TV channel being viewed. The statistics on the current pitcher or batter are then displayed in a window (e.g., a picture in picture or PIP window) on the TV screen.   3) PC browsing. The STB application allows the subscriber to display related data on a current or future event on the subscriber&#39;s PC. The data could be displayed on the PC in several different ways. For instance, the data could be part of a web page that is automatically called up in a web browser such as Netscape. The data could also be stored on the PC for later viewing.   4) Automated bookmarks. Instead of going ahead and displaying a related web page on the PC, the STB application could instruct the PC to store a web page as a bookmark for later viewing.   5) Purchasing. The STB application allows the subscriber to purchase products related to a current or future event over the Internet. While the STB application would initiate the purchase, the complete purchase process could take place on the STB or the PC.   6) Calendar reminder. The STB application could instruct the PC to add the name and start time of an event to a calendar application on the PC. The calendar application would alert the subscriber to when an event begins. The calendar application could interface with a personal digital assistant such as a Palm Pilot, etc. by downloading information when the PDA is synchronized with the calendar function on the PC.   7) Printing. The STB application could send event information to a PC and instruct the PC to print the event information on a printer.   8) Screen capture. The STB application could send a screen capture to the PC for use in a variety of PC applications.   9) Bill review. The STB application could instruct the PC to retrieve the subscriber&#39;s billing information from the Internet for display on the TV or PC.   10) Interactive help. The STB application could instruct the PC to retrieve interactive help from the Internet for display on the TV or PC.       

     While this invention has been described in conjunction with specific embodiments, it is evident that many alternatives, modifications, and variations will be apparent to those skilled in the art. Accordingly, the preferred embodiments of the present invention that are here described are intended to be illustrative and not limiting. Various changes may be made without departing from the true spirit and full scope of the invention as defined in the following claims.