Abstract:
An apparatus and a method for processing programs indicated by the associated program description to be audio-only programs, including the following. A respective program description for programs is received. Upon user selection of a program, a determination is made as to whether the selected program is an audio-only program. If the selected program is an audio-only program, then preprogrammed on-screen display information is displayed while the selected audio-only program is played to provide additional visual entertainment for users.

Description:
This application is a 371 U.S. National Stage of International Application No. PCT/US98/11866 filed Jun. 5, 1998, which in turn claims the benefit of U.S. Provisional Application 60/048,879 filed Jun. 6, 1997. 

   FIELD OF INVENTION 
   This invention generally relates to the field of electronic program guide processing and more particularly, to a system and method for processing a program indicated by its program description information to be an audio-only program. 
   BACKGROUND OF INVENTION 
   Electronic devices such as televisions and personal computers (PC) require a control system that includes a user interface system. Typically, a user interface provides information to a user and simplifies use of the device. One example of a user interface is an Electronic Program Guide (EPG) in a television system. 
   An EPG is an interactive, on-screen display feature that displays information analogous to TV listings found in local newspapers or other print media. In addition, an EPG also includes information necessary for collating and decoding programs. An EPG provides information about each program within the time frames covered by the EPG which typically ranges from the next hour up to seven days. The information contained in an EPG includes programming characteristics such as channel number, program title, start time, end time, elapsed time, time remaining, rating (if available), topic, theme, and a brief description of the program&#39;s content. EPGs are usually arranged in a two-dimensional table or grid format with time information on one axis and channel information on the other axis. 
   Unlike non-interactive guides that reside on a dedicated channel and merely scroll through the current programming on the other channels for the next 2 to 3 hours, EPGs allow viewers to select any channel at any time during some period into the future, e.g., up to seven other channels for the next 2 to 3 hours, EPGs allow viewers to select any channel at any time during some period into the future, e.g., up to seven days forward. Further EPG features include the ability to highlight individual cells of the grid containing program information. Once highlighted, the viewer can perform functions pertaining to that selected program. For instance, the viewer could instantly switch to that program if it is currently being aired. Viewers could also program one touch video cassette recording (VCR) or the like if the television is properly configured and connected to a recording device. Such EPGs are known in the art and described, for instance, in U.S. Pat. Nos. 5,353,121; 5,479,268; and 5,479,266 issued to Young et al. and assigned to StarSight Telecast, Inc. 
   In addition, U.S. Pat. No. 5,515,106, issued to Chaney et al., and assigned to the same assignee of the present invention, describes in detail an exemplary embodiment including data packet structure necessary to implement an exemplary program guide system. The exemplary data packet structure is designed so that both the channel information (e.g., channel name, call letters, channel number, type, etc.) and the program description information (e.g., content, title, rating, star, etc.) relating to a program may be transmitted from a program guide database provider to a receiving apparatus efficiently. 
   Also, as discussed in the Chaney patent, it is envisioned that various types of programs will be available to users, including, for example, video and audio program, audio-only program, video-only program or data type program such as an executable computer program or email. In order to uniquely identify the different types of programs mentioned above, a “class” field, for example, is designated in the program guide packet structure to indicate the type of program to be transmitted. The “class” field may be, for example, “audio-video”, “audio”, “video” or “data”, corresponding respectively to the types of programs described above. 
   D1, U.S. Pat. No. 5,585,866, discloses a receiver capable of receiving both an audiovisual and an audio-only program. The receiver in D1 is able to play a received audio-only program while displaying non-moving, associated program text data on the receiver&#39;s display. Of course, various methods for generating graphics, including animated graphics, on a display are well know in the art. For example, various methods are disclosed in D2, an article by Richard G. Shroup, entitled “Color Table Animation,” in the Proc. Of Annual Conference on Computer Graphics and Interact. Tech. (SIGGRAPH &#39;79), 6 th ; Chicao, Ill., USA, Aug. 8–10, 1979, Vol. 13, no. 2, August 1979, pages 8–13, XP002075128, Comput. Graphics (ACM) August 1979. However, references D1 and D2 either alone or combined, do not teach or suggest that it is desirable to display pre-stored animated pictures either automatically or in response to a user request, when an audio-only program is activated. The animated picture may serve as additional entertainment to a user and/or function as a screen saver to prevent screen burn. 
   SUMMARY OF THE INVENTION 
   Therefore, the present inventors recognize that it is desirable to be able to process each type of programs differently depending on the associated program description received in the program guide information. In particular, the present inventors recognize that it is advantageous to provide animated image on a screen, so that a user may be better entertained visually and/or serve as a screen saver when an audio-only program is played. 
   Hence, in accordance with aspects of the invention, an apparatus for processing a first type of program having both audio and video content and a second type of program having audio-only content, characterized in that:
         memory means for storing display information representing an animated image;   control means for determining whether a selected program is the first type of program having both audio and video content or the second type of program having audio-only content; and the control means causes the playing of the audio content and displaying of the video content when the selected program is a first type of program and causes the playing of the audio-only content and displaying of the animated image when the selected program is a second type of program.       

   Also, a method for processing a first type of program having both audio and video content and a second type of program having audio-only content, characterized in that:
         storing display information representing an animated image;   determining whether a selected program is the first type of program having both audio and video content or the second type of program having audio-only content;   causing the playing of the audio content and displaying of the video content when the selected program is a first type of program; and   causing the playing of the audio-only content and displaying of the animated image when the selected program is a second type of program.”       

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     In the drawing: 
       FIG. 1  shows an example of a television system suitable for processing various types of programs, including audio-only programs and associated program description information in accordance with the present invention. 
       FIG. 2  shows an example of a digital video processing apparatus suitable for processing various types of programs, including audio-only programs and associated program description information in accordance with the present invention. 
       FIG. 3  shows a block diagram of a specific implementation of a digital satellite system suitable for processing audio-only programs and associated program description information in accordance with the present invention. 
       FIG. 4  shows an example of a program guide being displayed. 
       FIG. 5  shows a flowchart, in accordance with the present invention for processing user inputs and audio-only programs according to the present invention. 
       FIG. 6  shows an example of an animation screen. 
   

   DETAILED DESCRIPTION 
     FIG. 1  shows an example of a television system suitable for processing various types of programs, including audio-only programs and associated program guide information in accordance with the present invention. The television receiver shown in  FIG. 1  is capable of processing both analog NTSC television signals and internet information. The system shown in  FIG. 1  has a first input  1100  for receiving television signal RF — IN at RF frequencies and a second input  1102  for receiving baseband television signal VIDEO IN. Signal RF — IN may be supplied from a source such as an antenna or cable system while signal VIDEO IN may be supplied, for example, by a video cassette recorder (VCR). Tuner  1105  and IF processor  1130  operate in a conventional manner for tuning and demodulating a particular television signal that is included in signal RF — IN. IF processor  1130  produces baseband video signal VIDEO representing the video program portion of the tuned television signal. IF processor  1130  also produces a baseband audio signal that is coupled to an audio processing section (not shown in  FIG. 1 ) for further audio processing. Although  FIG. 1  shows input  1102  as a baseband signal, the television receiver could include a second tuner and IF processor similar to units  1105  and  1130  for producing a second baseband video signal from either signal RF — IN or from a second RF signal source. 
   The system shown in  FIG. 1  also includes a main microprocessor (mP)  1110  for controlling components of the television receiver such as tuner  1105 , picture-in-picture processing unit  1140 , video signal processor  1155 , and StarSight® data processing module  1160 . As used herein, the term “microprocessor” represents various devices including, but not limited to, microprocessors, microcomputers, microcontrollers and controllers. Microprocessor  1110  controls the system by sending and receiving both commands and data via serial data bus I 2 C BUS which utilizes the well-known I 2 C serial data bus protocol. More specifically, central processing unit (CPU)  1112  within mP  1110  executes control programs contained within memory, such as EEPROM  1127  shown in  FIG. 1 , in response to commands provided by a user, e.g., via IR remote control  1125  and IR receiver  1122 . For example, activation of a “CHANNEL UP” feature on remote control  1125  causes CPU  1112  to send a “change channel” command along with channel data to tuner  1105  via I 2 C BUS. As a result, tuner  1105  tunes the next channel in the channel scan list. Another example of a control program stored in EEPROM  1127  is software for implementing the operations shown in  FIG. 5  to be discussed below and in accordance with the present invention. 
   Main microprocessor  1110  also controls the operation of a communications interface unit  1113  for providing the capability to upload and download information to and from the internet. Communication interface unit  1113  includes, for example, a modem for connecting to an internet service provider, e.g., via a telephone line or via a cable television line. The communication capability allows the system shown in  FIG. 1  to provide email capability and internet related features such as web browsing in addition to receiving television programming. 
   CPU  1112  controls functions included within mP  1110  via bus  1119  within mP  1110 . In particular, CPU  1112  controls auxiliary data processor  1115  and on-screen display (OSD) processor  1117 . Auxiliary data processor  1115  extracts auxiliary data such as StarSight® data from video signal PIPV. 
   StarSight® data which provides program guide data information in a known format is typically received only on a particular television channel and the television receiver must tune that channel to extract StarSight® data. To prevent StarSight® data extraction from interfering with normal use of the television receiver, CPU  1112  initiates StarSight® data extraction by tuning the particular channel only during a time period when the television receiver is usually not in use (e.g., 2:00 AM). At that time, CPU  1112  configures decoder  1115  such that auxiliary data is extracted from horizontal line intervals such as line  16  that are used for StarSight® data. CPU  1112  controls the transfer of extracted StarSight® data from decoder  1115  via I 2 C BUS to StarSight® module  1160 . A processor internal to the module formats and stores the data in memory within the module. In response to the StarSight® EPG display being activated (e.g., a user activating a particular key on remote control  125 ), CPU  1112  transfers formatted StarSight® EPG display data from StarSight® module  1160  via I 2 C BUS to OSD processor  1117 . 
   OSD processor  1117  operates in a conventional manner to produce R, G, and B video signals OSD — RGB that, when coupled to a displayed device (not shown), will produce a displayed image representing on-screen display information such as on-screen graphics and/or text in according to a flow chart shown in  FIG. 5  and to be described later. OSD processor  1117  also produces control signal Fast-Switch (FSW) which is intended to control a fast switch for inserting signals OSD — RGB into the system&#39;s video output signal at times when an on-screen display is to be displayed. Therefore, when a user enables the animation feature of the present invention to be described later, OSD processor  1117  produces the corresponding signals OSD — RGB representing the on-screen display information previously stored or programmed in the memory  1127 . For example, when a user enables an EPG, e.g., by activating a particular switch on remote control  1125 , CPU  1112  enables processor  1117 . In response, processor  1117  produces signals OSD — RGB representing the program guide data information previously extracted and already stored in memory, as discussed above. Processor  1117  also produces signal FSW indicating when the EPG is to be displayed. 
   Video signal processor (VSP)  1155  performs conventional video signal processing functions, such as luma and chroma processing. Output signals produced by VSP  1155  are suitable for coupling to a display device, e.g., a kinescope or LCD device (not shown in  FIG. 1 ), for producing a displayed image. VSP  1155  also includes a fast switch for coupling signals produced by OSD processor  1117  to the output video signal path at times when graphics and/or text is to be included in the displayed image. The fast switch is controlled by control signal FSW which is generated by OSD processor  1117  in main microprocessor  1110  at times when text and/or graphics are to be displayed. 
   The input signal for VSP  1155  is signal PIPV that is output by picture-in-picture (PIP) processor  1140 . When a user activates PIP mode, signal PIPV represents a large picture (large pix) into which a small picture (small pix) is inset. When PIP mode is inactive, signal PIPV represents just the large pix, i.e., no small pix signal is included in signal PIPV. PIP processor  1140  provides the described functionality in a conventional manner using features included in unit  1140  such as a video switch, analog-to-digital converter (ADC), RAM, and digital to analog converter (DAC). 
   As mentioned above, the display data included in the EPG display is produced by OSD processor  1117  and included in the output signal by VSP  1155  in response to fast switch signal FSW. When controller  1110  detects activation of the EPG display, e.g., when a user presses an appropriate key on remote control  1125 , controller  1110  causes OSD processor  1117  to produce the EPG display using information such as program guide data from StarSight® module  1160 . Controller  1110  causes VSP  1155  to combine the EPG display data from OSD processor  1117  and the video image signal in response to signal FSW to produce a display including EPG. The EPG can occupy all or only a portion of the display area. 
   When the EPG display is active, controller  1110  executes a control program stored in EEPROM  1127 . The control program monitors the location of a position indicator, such as a cursor and/or highlighting, in the EPG display. A user controls the location of the position indicator using direction and selection keys of remote control  1125 . Alternatively, the system could include a mouse device. Controller  1110  detects activation of a selection device, such as clicking a mouse button, and evaluates current cursor location information in conjunction with EPG data being displayed to determine the function desired, e.g., tuning a particular program. Controller  1110  subsequently activates the control action associated with the selected feature. 
   An exemplary embodiment of the features of the system shown in  FIG. 1  that have been described thus far comprises an ST9296 microprocessor produced by SGS-Thomson Microelectronics for providing the features associated with mP  1110 ; an M65616 picture-in-picture processor produced by Mitsubishi for providing the described basic PIP functionality associated with PIP processor  1140 ; and an LA7612 video signal processor produced by Sanyo for providing the functions of VSP  1155 . 
     FIG. 2  shows another example of an electronic device capable of processing various types of programs including audio-only programs and the associated program guide in accordance with the present invention. As described below, the system shown in  FIG. 2  is an MPEG compatible system for receiving MPEG encoded transport streams representing broadcast programs. However, the system shown in  FIG. 2  is exemplary only. User interface systems are also applicable to other types of digital signal processing devices including non-MPEG compatible systems, involving other types of encoded datastreams. For example, other devices include digital video disc (DVD) systems and MPEG program streams, and systems combining computer and television functions such as the so-called “PCTV”. Further, although the system described below is described as processing broadcast programs, this is exemplary only. The term ‘program’ is used to represent any form of packetized data such as telephone messages, computer programs, internet data or other communications, for example. 
   In overview, in the video receiver system of  FIG. 2 , a carrier modulated with video data is received by antenna  10  and processed by unit  15 . The resultant digital output signal is demodulated by demodulator  20  and decoded by decoder  30 . The output from decoder  30  is processed by transport system  25  which is responsive to commands from remote control unit  125 . System  25  provides compressed data outputs for storage, further decoding, or communication to other devices. 
   Video and audio decoders  85  and  80  respectively, decode the compressed data from system  25  to provide outputs for display. Data port  75  provides an interface for communication of the compressed data from system  25  to other devices such as a computer or High Definition Television (HDTV) receiver, for example. Storage device  90  stores the compressed data from system  25  on storage medium  105 . Device  90 , in a playback mode also supports retrieval of the compressed data from storage medium  105  for processing by system  25  for decoding, communication to other devices or storage on a different storage medium (not shown to simplify drawing). 
   Considering  FIG. 2  in detail, a carrier modulated with video data received by antenna  10 , is converted to digital form and processed by input processor  15 . Processor  15  includes radio frequency (RF) tuner and intermediate frequency (IF) mixer and amplification stages for down-converting the input video signal to a lower frequency band suitable for further processing. The resultant digital output signal is demodulated by demodulator  20  and decoded by decoder  30 . The output from decoder  30  is further processed by transport system  25 . 
   Multiplexer (mux)  37  of service detector  33  is provided, via selector  35 , with either the output from decoder  30 , or the decoder  30  output further processed by a descrambling unit  40 . Descrambling unit  40  may be, for example, a removable unit such as a smart card in accordance with ISO 7816 and NRSS (National Renewable Security Standards) Committee standards (the NRSS removable conditional access system is defined in EIA Draft Document IS-679, Project PN-3639). Selector  35  detects the presence of an insertable, compatible, descrambling card and provides the output of unit  40  to mux  37  only if the card is currently inserted in the video receiver unit. Otherwise selector  35  provides the output from decoder  30  to mux  37 . The presence of the insertable card permits unit  40  to descramble additional premium program channels, for example, and provide additional program services to a viewer. It should be noted that in the preferred embodiment NRSS unit  40  and smart card unit  130  (smart card unit  130  is discussed later) share the same system  25  interface such that only either an NRSS card or a smart card may be inserted at any one time. However, the interfaces may also be separate to allow parallel operation. 
   The data provided to mux  37  from selector  35  is in the form of an MPEG compliant packetized transport datastream as defined in MPEG systems standard section 2.4 and includes program guide information and the data content of one or more program channels. The individual packets that comprise particular program channels are identified by Packet Identifiers (PIDs). The transport stream contains Program Specific Information (PSI) for use in identifying the PIDs and assembling individual data packets to recover the content of all the program channels that comprise the packetized datastream. Transport system  25 , under the control of the system controller  115 , acquires and collates program guide information from the input transport stream, storage device  90  or an internet service provider via the communication interface unit  116 . The individual packets that comprise either particular program channel content or Program Guide information, are identified by their Packet Identifiers (PIDs) contained within header information. As discussed above, the program description contained in the program guide information may comprise different program descriptive fields such as title, star, rating, etc., relating to a program. 
   The user interface incorporated in the video receiver shown in  FIG. 2  enables a user to activate various features by selecting a desired feature from an on-screen display (OSD) menu. The OSD menu may include an electronic program guide (EPG) as described above and other features discussed below. 
   Data representing information displayed in the OSD menu is generated by system controller  115  in response to stored on-screen display (OSD) information representing text/graphics, stored program guide information, and/or program guide and text/graphics information received via the input signal as described above and in accordance with an exemplary control program to be shown in  FIG. 5  and to be discussed below. The software control program in  FIG. 5  may be stored, for example, in embedded memory (not shown) of system controller  115 . 
   Using remote control unit  125  (or other selection means such as a mouse) a user can select from the OSD menu items such as a program to be viewed, a program to be stored, the type of storage media and manner of storage. System controller  115  uses the selection information, provided via interface  120 , to configure system  25  to select the programs for storage and display and to generate PSI suitable for the selected storage device and media. Controller  115  configures system  25  elements  45 ,  47 ,  50 ,  55 ,  65  and  95  by setting control register values within these elements via a data bus and by selecting signal paths via muxes  37  and  110  with control signal C. 
   In response to control signal C, mux  37  selects either, the transport stream from unit  35 , or in a playback mode, a datastream retrieved from storage device  90  via store interface  95 . In normal, non-playback operation, the data packets comprising the program that the user selected to view are identified by their PIDs by selection unit  45 . If an encryption indicator in the header data of the selected program packets indicates the packets are encrypted, unit  45  provides the packets to decryption unit  50 . Otherwise unit  45  provides non-encrypted packets to transport decoder  55 . Similarly, the data packets comprising the programs that the user selected for storage are identified by their PIDs by selection unit  47 . Unit  47  provides encrypted packets to decryption unit  50  or non-encrypted packets to mux  110  based on the packet header encryption indicator information. 
   The functions of decryptors  40  and  50  may be implemented in a single removable smart card which is compatible with the NRSS standard. This approach places all security related functions in one removable unit that can easily be replaced if a service provider decides to change encryption technique or to permit easily changing the security system, e.g., to descramble a different service. 
   Units  45  and  47  employ PID detection filters that match the PIDs of incoming packets provided by mux  37  with PID values pre-loaded in control registers within units  45  and  47  by controller  115 . The pre-loaded PIDs are used in units  47  and  45  to identify the data packets that are to be stored and the data packets that are to be decoded for use in providing a video image. The pre-loaded PIDs are stored in look-up tables in units  45  and  47 . The PID look-up tables are memory mapped to encryption key tables in units  45  and  47  that associate encryption keys with each pre-loaded PID. The memory mapped PID and encryption key look-up tables permit units  45  and  47  to match encrypted packets containing a pre-loaded PID with associated encryption keys that permit their decryption. Non-encrypted packets do not have associated encryption keys. Units  45  and  47  provide both identified packets and their associated encryption keys to decryptor  50 . The PID look-up table in unit  45  is also memory mapped to a destination table that matches packets containing pre-loaded PIDs with corresponding destination buffer locations in packet buffer  60 . The encryption keys and destination buffer location addresses associated with the programs selected by a user for viewing or storage are pre-loaded into units  45  and  47  along with the assigned PIDs by controller  115 . The encryption keys are generated by ISO 7816-3 compliant smart card system  130  from encryption codes extracted from the input datastream. The generation of the encryption keys is subject to customer entitlement determined from coded information in the input data stream and/or pre-stored on the insertable smart card itself (International Standards Organization document ISO 7816-3 of 1989 defines the interface and signal structures for a smart card system). 
   The packets provided by units  45  and  47  to unit  50  are encrypted using an encryption technique such as the Data Encryption Standard (DES) defined in Federal Information Standards (FIPS) Publications 46, 74 and 81 provided by the National Technical Information Service, Department of Commerce. Unit  50  decrypts the encrypted packets using corresponding encryption keys provided by units  45  and  47  by applying decryption techniques appropriate for the selected encryption algorithm. The decrypted packets from unit  50  and the non-encrypted packets from unit  45  that comprise the program for display are provided to decoder  55 . The decrypted packets from unit  50  and the non-encrypted packets from unit  47  that comprise the program for storage are provided to mux  110 . 
   Unit  60  contains four packet buffers accessible by controller  115 . One of the buffers is assigned to hold data destined for use by controller  115  and the other three buffers are assigned to hold packets that are destined for use by application devices  75 ,  80  and  85 . Access to the packets stored in the four buffers within unit  60  by both controller  115  and by application interface  70  is controlled by buffer control unit  65 . Unit  45  provides a destination flag to unit  65  for each packet identified by unit  45  for decoding. The flags indicate the individual unit  60  destination locations for the identified packets and are stored by control unit  65  in an internal memory table. Control unit  65  determines a series of read and write pointers associated with packets stored in buffer  60  based on the First-In-First-Out (FIFO) principle. The write pointers in conjunction with the destination flags permit sequential storage of an identified packet from units  45  or  50  in the next empty location within the appropriate destination buffer in unit  60 . The read pointers permit sequential reading of packets from the appropriate unit  60  destination buffers by controller  115  and application interface  70 . 
   The non-encrypted and decrypted packets provided by units  45  and  50  to decoder  55  contain a transport header as defined by section 2.4.3.2 of the MPEG systems standard. Decoder  55  determines from the transport header whether the non-encrypted and decrypted packets contain an adaptation field (per the MPEG systems standard). The adaptation field contains timing information including, for example, Program Clock References (PCRs) that permit synchronization and decoding of content packets. Upon detection of a timing information packet, that is a packet containing an adaptation field, decoder  55  signals controller  115 , via an interrupt mechanism by setting a system interrupt, that the packet has been received. In addition, decoder  55  changes the timing packet destination flag in unit  65  and provides the packet to unit  60 . By changing the unit  65  destination flag, unit  65  diverts the timing information packet provided by decoder  55  to the unit  60  buffer location assigned to hold data for use by controller  115 , instead of an application buffer location. 
   Upon receiving the system interrupt set by decoder  55 , controller  115  reads the timing information and PCR value and stores it in internal memory. PCR values of successive timing information packets are used by controller  115  to adjust the system  25  master clock (27 MHz). The difference between PCR based and master clock based estimates of the time interval between the receipt of successive timing packets, generated by controller  115 , is used to adjust the system  25  master clock. Controller  115  achieves this by applying the derived time estimate difference to adjust the input control voltage of a voltage controlled oscillator used to generate the master clock. Controller  115  resets the system interrupt after storing the timing information in internal memory. 
   Packets received by decoder  55  from units  45  and  50  that contain program content including audio, video, caption, and other information, are directed by unit  65  from decoder  55  to the designated application device buffers in packet buffer  60 . Application control unit  70  sequentially retrieves the audio, video, caption and other data from the designated buffers in buffer  60  and provides the data to corresponding application devices  75 ,  80  and  85 . The application devices comprise audio and video decoders  80  and  85  and high speed data port  75 . For example, packet data are processed according to the type of program in accordance to a flow chart shown in  FIG. 5  to be discussed later. Also, packet data corresponding to a composite program guide generated by the controller  115  as described above, may be transported to the video decoder  85  for formatting into video signal suitable for display on a monitor (not shown) connected to the video decoder  85 . Also, for example, data port  75  may be used to provide high speed data such as computer programs, for example, to a computer. Alternatively, port  75  may be used to output data to an HDTV decoder to display images corresponding to a selected program or a program guide, for example. 
   Packets that contain PSI information are recognized by unit  45  as destined for the controller  115  buffer in unit  60 . The PSI packets are directed to this buffer by unit  65  via units  45 ,  50  and  55  in a similar manner to that described for packets containing program content. Controller  115  reads the PSI from unit  60  and stores it in internal memory. 
   Controller  115  also generates condensed PSI (CPSI) from the stored PSI and incorporates the CPSI in a packetized datastream suitable for storage on a selectable storage medium. The packet identification and direction is governed by controller  115  in conjunction with the unit  45  and unit  47  PID, destination and encryption key look-up tables and control unit  65  functions in the manner previously described. 
   In addition, controller  115  is coupled to a communication interface unit  116  that operates in a manner similar to interface unit  1113  in  FIG. 1 . That is, unit  116  provides the capability to upload and download information to and from the internet. Communication interface unit  116  includes, for example, a modem for connecting to an internet service provider, e.g., via a telephone line or via a cable television line. The communication capability allows the system shown in  FIG. 2  to provide email capability and internet related features such as web browsing in addition to receiving television programming. 
     FIG. 3  is a specific implementation of an electronic device generally shown in  FIG. 2  and described in detail above.  FIG. 3  represents a satellite receiver set-top box, designed and manufactured by Thomson Consumer Electronics, of Indianapolis, Ind., USA, for receiving DirecTV™ satellite service provided by Hughes Electronics. 
   As shown in  FIG. 3 , the set-top box has a tuner  301  which receives and tunes applicable satellite RF signals in the range of 950–1450 Mhz from a satellite antenna  317 . The tuned analog signals are outputted to a link module  302  for further processing. Link module  302  is responsible for further processing of the analog tuned signals I — out and Q — out from tuner  301 , including filtering and conditioning of the analog signals, and conversion of the analog signals into a digital output signal, DATA. The link module  302  is implemented as an integrated circuit (IC). The link module IC is manufactured by SGS-Thomson Microelectronics of Grenoble, France, and has Part No. ST 15339-610. 
   The digital output, DATA, from the link module  302  consists of compliant packetized data stream recognized and processable by the transport unit  303 . The datastream, as discussed in detail in relation to  FIG. 2 , includes program guide data information and the data content of one or more program channels of the satellite broadcast service from DirecTV™. As discussed above, program guide data contains information relating to the what type of program (e.g., audio-only, video-only, etc) as indicated, for example, by the “class” type. 
   The function of the transport unit  303  is the same as the transport system  25  shown in  FIG. 2  and discussed already. As described above, the transport unit  303 , processes the packetized datastream according to the Packet Identifiers (PID) contained in the header information. The processed datastream are then formatted into MPEG compatible, compressed audio and video packets and coupled to a MPEG decoder  304  for further processing. 
   The transport unit  303  is controlled by an Advanced RISC Microprocessor (ARM)  315  which is a RISC based microprocessor. The ARM processor  315  executes control software residing in ROM  308 . One component of the software may be, for example, a control program shown in  FIG. 5  for processing programs according to their program type in accordance with aspects of the present invention as will be discussed below. 
   The transport unit  303  may be implemented as an integrated circuit. For example, a preferred embodiment of the transport unit is an IC manufactured by SGS-Thomson Microelectronics having Part No. ST 15273-810 or 15103-65C. 
   The MPEG compatible, compressed audio and video packets from the transport unit  303  are delivered to a MPEG decoder  304 . The MPEG decoder decodes the compressed MPEG datastream from the transport unit  303 . The decoder  304  then outputs the applicable audio stream which can be further processed by the audio digital-to-analog converter (DAC)  305  to convert the digital audio data into analog sound. The decoder  304  also outputs applicable digital video data which represents image pixel information to a NTSC encoder  306 . The NTSC encoder  306  then further processes this video data into NTSC compatible analog video signal so that video images may be displayed on a regular NTSC television screen. An example of a preferred embodiment of the MPEG decoder is an IC manufactured by SGS-Thomson Microelectronics having Part No. ST  13520 . 
   Included in the MPEG IC  304  is an OSD processor  320 . The OSD processor  320  reads data form SDRAM  316  which contains stored OSD information. OSD information corresponds to bitmap OSD graphics/text images. The OSD processor  320  is capable of varying the color of each pixel of an OSD image under the control of the ARM microprocessor  315  in a conventional manner. 
   The OSD processor  320  is also responsible for generating an exemplary program guide as shown in  FIG. 4  under the control of the ARM processor  315 . In our exemplary embodiment, upon detecting a user request to generate a guide display, the ARM microprocessor  315  processes the program guide data information obtained from a data stream provided by a program guide information provider and formats the guide data information into OSD pixel data corresponding to a full “grid guide” as shown in  FIG. 4 . The OSD pixel data from the transport unit  303  is then forwarded to OSD processor  320  in the MPEG audio/video decoder  304  for generating the guide image, as described before. 
   As shown in  FIG. 4 , the “grid guide”  400  typically occupies the whole screen of a display. The grid guide  400  shows a program schedule in a time-and-channel format, similar to a TV schedule listed in a newspaper. In particular, one dimension (e.g., horizontal) of the guide shows the time information while the other dimension (e.g., vertical) of the guide shows the channel information. The time information is conveyed to the user by having a time line  401  on the top portion of the guide and is demarked by half hour intervals. The channel information is conveyed to the user by channel numbers  410 – 416  and corresponding channel station names  420 – 426 . 
   In addition, the program guide  400  contains icons Internet  450  and Email  460 . By clicking on these icons, a user can surf the internet and send/receive email respectively through the communication interface unit  307 . In addition, an internet web site icon may also be incorporated into a grid of a program guide. For example, by clicking on “ESPN.com” within grid  470 , the user will automatically be linked to, for example, an ESPN web site. 
   Additional relevant functional blocks of  FIG. 3  includes modem  307  which corresponds to the communication interface unit  116  shown in  FIG. 2  for access to the internet, for example. Conditional Access Module (CAM)  309 , corresponds to the NRSS decryption unit  130  shown in  FIG. 2  for providing conditional access information. Wideband data module  310  corresponds to High Speed Data Port  75  shown in  FIG. 2  for providing high speed data access to, for example, a HDTV decoder or a computer. A keyboard/IR Receiver module  312  corresponds to Remote Unit interface  120  shown in  FIG. 2  for receiving user control commands from a user control unit  314 . Digital AV bus module  313  corresponds to I/O port  100  shown in  FIG. 2  for connection to an external device such as a VCR or a DVD player. 
     FIG. 5  shows the flow chart of an exemplary control program which may be executed by either the CPU  1112  of  FIG. 1 , Controller  115  of  FIG. 2 , or ARM microprocessor  315  of  FIG. 3  to implement the features according to aspects of the present invention. A person skilled in the art would readily recognize that the control program in  FIG. 5  when executed by any one of the systems described in  FIGS. 1–3  will provide the same features in accordance with the present invention. Therefore, to avoid redundancy, the control program shown in  FIG. 5  will be described below only with respect to the exemplary hardware implementation shown in  FIG. 3 . 
   As shown at step  510  and as discussed above, on-screen display information representing graphics/text images to be displayed according to aspects of the present invention is typically preprogrammed and already stored in, for example, the SDRAM  316 . The system shown in  FIG. 3  also processes and stores program description information contained in the program guide data for each of the programs described in the program guide data, as shown at step  515 . In particular, the “class” information which indicates the type (e.g., audio-only, video-only, audio-video, data, etc.) of program, is retrieved and stored in DRAM  316  by ARM processor  315 . 
   At step  520 , a user may select a program from the program guide shown in  FIG. 4 , for example, by highlighting the grid containing the program, using a user control unit  314  of the system shown in  FIG. 3 . As an example, as shown in  FIG. 4 , the user has selected the program “SONG 1” in grid  430  by highlighting it. 
   Once a program is selected, the ARM processor  315  will determine if the selected program is an audio-only program as shown at step  525 . As described before, the ARM program determines this by examining the “class” information contained in the program guide data for this selected program. If the ARM processor  315  determines that this program is not an audio-only program, but is for example, a program having simultaneous audio and video information, the ARM processor  315  will then process this program as normal, by simultaneously displaying the received video and playing the received audio portion of the program, as shown at step  530 . 
   On the other hand, if the ARM processor, at step  525 , determines that the received program is an audio-only program, the ARM processor  315  will further determine if an animation feature has been previously selected by the user, as shown at step  535 . If the ARM processor determines that the user has not preselected the animation feature, the ARM processor will play the received audio program and display only a blank or blue screen, as shown at step  540 . If on the other hand, the ARM processor  315  determines that the user has preselected the animation feature and the selected program is an audio-only program, then the ARM processor will proceed to step  545 . 
   At step  545 , the ARM processor  315  will instruct the OSD processor  320  to retrieve preprogrammed OSD information for implementing the animation feature according to the present invention from memory  316 . The ARM processor  315  will also instruct the OSD processor  320  to display the OSD information on a display  600  as shown in  FIG. 6 . 
   The OSD information in our exemplary embodiment corresponds to a screen having a plurality of screen elements  601 – 606 . The screen elements in this case are, for example, a series of paw prints  601 – 606 . The ARM processor will also instruct the OSD processor  320  to display associated program descriptive information contained in the program guide information about this audio-only program. For example, the program descriptive information about the content, title, artist and class type of this program are displayed on the screen  600  as shown in  FIG. 6 . 
   In addition, to achieve an animated effect of the screen elements  606 — 606  in our embodiment, the ARM processor will change the color scheme of the screen elements  601 – 606 . For example, the ARM processor may instruct the OSD processor  320  to display all the paw prints  601 – 606  initially in the same color as the background color (e.g., blue). The OSD may then sequentially change the color of each paw print starting from paw print  601  to paw print  606  and so forth. A viewer may then have the visual effect of seeing a paw gradually stepping upward, leaving behind a trial of prints. 
   In addition, the same on-screen display information used in the animation feature thus described may also be used as a screen saver. For example, the ARM processor  315  may have a timer routine which keeps track of when the last user command is entered via the user control  314 . If a certain time (e.g., 3 mins) has passed since the last user entry, the ARM processor will instruct the OSD processor to display the same OSD information used in the animation feature described above to prevent screen burns. This is advantageous since system resources, especially memory resources are conserved by using the same OSD information to achieve both purposes. 
   It is to be understood that the embodiments and variations shown and described herein are for illustrations only and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention.