Abstract:
A digital STB having multiple decoders is capable of decoding multiple digital video streams simultaneously to minimize the time a subscriber waits before a new channel is tuned and displayed. The STB incorporates a channel look-ahead capability in which one or more digital tuners tune to and decode a next video channel based upon information taken from a subscriber&#39;s usage history and information obtained from average subscriber behavior. STB software performs a channel prediction to setup spare tuning and decoding resources to tune to and decode a potential channel the subscriber might select next. The STB can therefore anticipate the subscriber&#39;s request and provide a faster response time for channel tuning.

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention generally relates to digital cable systems, and more particularly, to digital set-top boxes (STBs) having multiple decoders.  
         BACKGROUND OF THE INVENTION  
         [0002]    Over the past twenty years there has been a substantial increase in the quantity of programming available to television viewers. In a typical American household, it is not uncommon for viewers to have available fifty or more television stations, and in some cases viewers have more than one hundred channels to choose from. Typically, the high number of channels often makes it difficult for viewers to efficiently locate any single program. Furthermore, due to the ever increasing number of channels and programs at the fingertips of the television viewer, viewers often have difficulty in deciding what station or program to watch. For instance, although a viewer may locate an interesting program, the viewer may still spend a considerable amount of time navigating the remaining channels to confirm that there isn&#39;t a more desirable program selection.  
           [0003]    The high quantity of programming typically results in channel surfing, which viewers use as a method to quickly ascertain what is being shown on each channel. There are a number of aids to help television viewers with program selection. For instance, with the advent of digital broadcast systems, such as satellite systems and digital cable set-top systems, subscribers are typically offered interactive menus that allow provide subscribers information regarding programming which is currently being aired and programming which is to be aired in the near future. Using these systems, subscribers can access a program guide that allows subscribers to interactively scroll through available programming, usually based on times and channels. Furthermore, subscribers can view details regarding programs scheduled to be aired at a specific time on a specific channel in the near future, such as the length of the program, a program summary, the program players or hosts, the program&#39;s rating, as well as other additional data.  
           [0004]    Unfortunately, whether channel surfing or viewing program information from a program guide, subscribers of current digital systems experience delay when scrolling through channels or seeking program information. It may, for instance, take a subscriber 30 seconds to scroll through 30 channels. This result stems from the fact that normal MPEG encoded digital video channels suffer from long initial decoding time, which can typically result in a subscriber waiting a second or more before a channel is displayed. This delay is associated with MPEG data buffering prior to decoding and displaying the MPEG video images. This delay is particularly frustrating given the high number of channels available to subscribers. What is needed is a system, method and tuner that minimizes this delay so as to allow subscribers to select a channel or program guide information and immediately view that channel or program information with minimal delay.  
         SUMMARY OF THE INVENTION  
         [0005]    The present invention utilizes a digital STB having multiple decoders capable of simultaneously decoding multiple digital video streams to minimize the time a subscriber waits before a new channel is tuned and displayed. Specifically, the present invention provides channel look-ahead capability in which one or more digital decoders decode a next video channel based upon information taken from a subscriber&#39;s usage history and information obtained from average subscriber behavior. More specifically, smart and adaptive software performs a channel prediction to setup spare tuning and decoding resources to tune to a potential channel the subscriber might next select. The present invention utilizes a prediction algorithm to guess the next channel a subscriber may tune to such that the STB can anticipate the subscriber&#39;s request and provide a faster response time for channel tuning and decoding.  
           [0006]    The predictability function of the channel prediction logic can best be demonstrated with reference to two illustrative examples of the present invention. For example, where a subscriber is surfing through a cable channel lineup by pressing the channel up key continuously, the STB can utilize the multiple tuners to tune to the next N channels simultaneously (where N is a number equal to or less than the free tuning and decoding resources available). Because the STB of the present invention can identify the subscriber&#39;s channel tuning pattern the STB can avoid the time normally required to tune to a next channel by having spare system resources perform the tuning and decoding task in advance in anticipation of the channel tune. Therefore, any delay in tuning to and decoding the MPEG video channel is hidden from the subscriber because this function is executed prior to the subscriber tuning to the channel. In another illustrative example, a subscriber may be surfing through a cable channel lineup with a remote control unit by repeatedly pressing the ‘last’ or ‘previous channel’ key to go back and forth between two particular channels. In this scenario the channel prediction logic of the present invention can identify that the subscriber is repeatedly toggling between two channels and can use spare tuning and decoding resources to continuously decode to the ‘last’ channel such that next time the subscriber wishes to retune to the last channel there is no delay experienced by the subscriber. It will be appreciated that these examples are merely illustrative and are not intended to be limiting. For instance, the channel prediction logic of the present invention may continuously use system resources to tune to channels frequented by a subscriber based upon past history, to channels located on a subscriber favorite list, or even to a channel identified by the subscriber. Furthermore, different predictions made by a channel prediction logic may be weighted such that the STB will attempt to allocate its tuning resources to a channel most likely to be chosen next by the subscriber. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0007]    Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:  
         [0008]    [0008]FIG. 1 shows a block diagram of a Digital Broadband Delivery System (DBDS) including a STB, according to one aspect of the present invention.  
         [0009]    [0009]FIG. 2 shows input channels supported by a DBDS and input into a STB of the present invention, according to one aspect of the invention.  
         [0010]    [0010]FIG. 3 is a block diagram of the components comprising the STB of FIG. 2, according to one aspect of the present invention.  
         [0011]    [0011]FIG. 4 is a block diagram of the look-ahead tuning logic of the STB of FIG. 3, according to one embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0012]    The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.  
         [0013]    Because the functions and advantages of the present invention are based upon the ability of a multiple-tuner STB to receive data representing multiple channels simultaneously to effect the channel look-ahead capability, a brief summary of a Digital Broadband Delivery System (DBDS) will first be described, including the form and type of data delivered over the system to the STB of the present invention. Next, a STB according to the present invention and having a plurality of tuners to simultaneously receive a plurality of television channels will be described. Finally, a look-ahead tuning logic component within the STB will be discussed in detail, including the process by which the look-ahead tuning logic enables the STB to anticipate and tune to channels the STB predicts the subscriber will next select.  
         [0014]    [0014]FIG. 1 shows a block diagram view of a Digital Broadband Delivery System (DBDS)  10 , including a STB  14  of the present invention. Generally, the DBDS  10  is an integrated network system that features video, audio, voice and data services to Cable TV subscribers. Although FIG. 1 depicts a high level view of a DBDS including a regional HFC Access Network  38 , as will be described below, it should be appreciated that a plurality of DBDSs can tie together a plurality of regional networks into an integrated global network so that Cable TV subscribers can receive content provided from anywhere in the world. The DBDS  10  shown in FIG. 1 delivers broadcast video signals as digitally formatted signals in addition to delivering traditional broadcast analog video signals. Furthermore, the system can support one way broadcast services as well as both one-way data services and two-way media and data services. The two-way operation of the network allows for subscriber interactivity with services, such as Pay-Per-View programming, View-on-Demand programs, and interactive applications, such as Email, Internet connections, and EPG applications.  
         [0015]    The DBDS  10  provides the interfaces, network control, transport control, session control, and servers to access content and services, and distributes content and services to Cable TV subscribers. As shown in FIG. 1, a typical DBDS  10  is composed of interfaces to Content Providers  18 , Network Operations Centers (NOC)  22 , core networks  30  of headends  26 , hubs  34 , Hybrid Fiber/Coax (HFC) Access Networks  38 , and subscribers&#39; STBs  14 . It should be appreciated that although single components (e.g., headend  26 , core network  30 , HFC Access network  38 , etc.) are illustrated in FIG. 1, a DBDS  10  can feature a plurality of each of the illustrated components.  
         [0016]    The Content Provider  18  represents one or more providers of content, such as video channels, music channels, data channels, video services, audio services and data services. For example, according to one aspect of the invention, the Content Provider  18  could comprise an Electronic Program Guide (EPG) data provider which acts as a data service provider. According to another aspect of the invention, the Content Provider  18  could represent an Internet Service Provider (ISP) providing data to the system to enable subscribers web access or web-enhanced video via the subscriber&#39;s television set. The Content Provider  18  transmits the content to a headend  26  for further transmission to subscribers downstream in the network. Also in communication with the headend  26  is a Network Operation Center (NOC)  22 , which is an external management center interfaced with the DBDS  10  to allow for the remote operation of the system.  
         [0017]    Content provided by the Content Provider  18  is communicated by the Content Provider  18  to one or more headends  26 . From those headends  26  the content is then communicated to the core network  30  of hubs  34  and onto a plurality of Hybrid/Fiber Coax (HFC) Access Networks (only one HFC Access Network  38  is illustrated). The HFC Access Network  38  typically comprises a plurality of HFC nodes  42 , each which may service a local geographical area. The content provided from the Content Provider  18  is transmitted through the headend  26 , hub  34  and HFC Access Network  38  downstream to one or more taps  46  from each one of the HFC nodes  42  of the HFC Access Network  38 . The hub  34  connects to the HFC node  42  through the fiber portion of the HFC Access Network  38 . Usually, the HFC node  42  connects to a subscriber&#39;s STB  14  through coaxial cable in a logical tree configuration, which is where the optical-to-electrical and electrical-to-optical conversations of the HFC network take place. From the HFC node  42  a coaxial drop connects the tap  46  to a Network Interface Units (NIU)  52 , which is a network demarcation point physically located on the side of the subscribers&#39; home. The NIU  52  provides a transparent interface between the HFC node  42  and the subscribers&#39; internal wiring. Coaxial cables are preferred in this part of the system because the electrical signals can be easily repeated with RF amplifiers. Typically, six amplifiers or less are located in series between the HFC node  42  and the subscribers&#39; STBs  14 . As DBDSs are well known to those of skill in the art, further description of the DBDS  10  of FIG. 1 will not be contained herein.  
         [0018]    The present invention utilizes a STB having a plurality of decoders that can simultaneously receive and decode multiple digital channels received by one or more tuners over one or more transmission channels, described next with respect to FIG. 2. Because the present invention can simultaneously decode multiple channels, the present invention can perform look-ahead tuning, described in detail below, which enables a STB to anticipate a subscriber&#39;s next channel selection, and instantly present to the subscriber the next channel without tuning or decoding delay.  
         [0019]    [0019]FIG. 2 shows illustrative channels supported by the DBDS, where the channels  60 ,  64 ,  68 ,  72  and  76  are input into a STB  14  of the present invention. These input channels can be provided by the one or more Content Providers  18  illustrated in FIG. 1. Additionally, a few channels can be generated at a Headend  26  or at a Hub  34  functioning as a mini-Headend which possesses some Headend functionality. As depicted in FIG. 2, the DBDS  10  can simultaneously support a number of transport channel types and modulation formats. The ability to carry analog and digital signals over a large bandwidth are characteristics of a Hybrid Fiber/Coax (HFC) Network typically employed in a DBDS, as in the DBDS  10  of FIG. 1. As will be appreciated by those of skill in the art, analog and digital signals in HFC networks can be multiplexed using Frequency Division Multiplexing (FDM), which enables many different types of signals to be transmitted over the DBDS  10  to the STB  14  of the present invention. Typically, a DBDS using HFC supports downstream (i.e., in the direction from the Headend to the STB) frequencies from 50 MHz to 870 MHz, whereas upstream frequencies (i.e., in the direction from the STB to higher levels of the system) are in the 5 MHz to 42 MHz band. Generally, the RF channel bandwidth spacing for analog and digital services is 6 MHz. Furthermore, for a typical 870 MHz system in the U.S., a possible downstream RF spectrum subdivision plan uses 6 MHz spaced RF channels within the 50 MHz to 550 MHz band for analog video carriers and within the 550 MHz to 870 MHz range for digital carriers. It should be understood that RF channels can be assigned to carry analog video signals but the present invention is not limited to embodiments where a RF channel is assigned to carry analog video signals upon fulfillment of a complete transition of the DBDS to an all digital system.  
         [0020]    Referring again to FIG. 2, the downstream direction channels, having been multiplexed using frequency division multiplexing (FDM), and often referred to as in-band channels, include Analog Transmission Channels (ATCs)  60  and Digital Transmission Channels (DTC)  64 ,  68 ,  72  (also known as Digital Transport Channels). These channels carry video, audio and data services. For example, these channels can carry television signals, Internet data, or any additional types of data, such as Electronic Program Guide (EPG) data. The ATCs  60  shown in FIG. 2 are typically broadcast in 6 MHz channels having an analog broadcast composed of analog video and analog audio, and include Broadcast TV Systems Committee (BTSC) stereo and Secondary Audio Program (SAP) audio. Additionally, as will be appreciated by those of skill in the art, additional data, such as EPG data, can be sent with the analog video image in the Vertical Blanking Interval (VBI) of the video signal. It should be appreciated, however, that the amount of data that can be transmitted in the VBI of the analog video signal is typically significantly less than data transmitted in a DTC, as explained below.  
         [0021]    Like the ATCs  60 , the DTCs  64 ,  68 ,  72  each occupy 6 MHz of the RF spectrum. However, the DTCs  64 ,  68 ,  72  are digital channels consisting of 64- or 256-Quadrature Amplitude Modulated (QAM) digital signals formatted as MPEG-2 transport streams, allocated in a separate frequency range. As is well known in the art, the MPEG-2 transport stream enables transmission of a plurality of DTC channel types over each 6 MHz RF spacing, as compared to a 6 MHz ATC. The three types of digital transport channels illustrated in FIG. 2 include broadcast digital transmission channels  64 , carousel digital transmission channels  68 , and on-demand transmission channels  72 .  
         [0022]    MPEG-2 transport may be used to multiplex video, audio, and data in each of these Digital Transmission Channels (DTCs). However, because MPEG-2 transport stream multiplex video, audio, and data to be placed into the same stream, the DTCs do not necessarily have to be allocated in separate 6 MHz RF frequencies, unlike ATCs  60 . On the other hand, each DTC is capable of carrying multiple broadcast digital video programs, multiple cycling data carousels containing broadcast data, and data requested on-demand by the subscriber. Data is formatted, such as in Internet Protocol (IP), mapped into MPEG-2 packets, and inserted into the multiplexed MPEG-2 transport stream. According to one aspect of the invention, encryption can be applied to the data stream for security so that the data, may be received only by authorized STBs. For instance, one individual subscriber may be authorized to receive minimal set of EPG data, while others may be authorized additional incremental amounts of EPG data (for example, EPG data for future days) according to a tiered service fee and/or depending on the amount of memory in the STB. Therefore, additional subscribers in the same local area not authorized to receive EPG data will not.  
         [0023]    Each 6 MHz RF spacing assigned as a digital transmission channel can carry the video and audio streams of the programs of multiple television (TV) stations, as well as media and data that is not necessarily related to those TV programs or TV channels, as compared to one TV channel broadcast over one ATC  60  that consumes the entire 6 MHz. The digital data is inserted into MPEG transport streams carried through each 6 MHz channel assigned for digital transmission, and then de-multiplexed at the subscribers&#39; STB so that multiple sets of data can be produced within each tuned 6 MHz frequency span.  
         [0024]    The broadcast DTCs  64  and carousel DTCs  68  typically function as continuous feeds for indefinite time, whereas the on-demand DTCs  72  are continuous feeds sessions for a limited time. All DTC types are capable of being transmitted at high data rates. The broadcast DTCs  64  carry typical data comprising multiple digitally-MPEG-2 compressed and formatted TV channels and other continuously fed data information. The carousel DTCs  68  carry broadcast data, such as EPG data, that is systematically broadcast in a cycling fashion but updated and revised as need be. Thus, the carousel DTCs  68  can serve to carry high volume data, such as EPG data, as well as other data at high data rates. The carousel DTCs  68  typically carry data formatted in directories and files by a Broadcast File System (BFS), which is used for producing and transmitting data streams throughout the DBDS, and which provides an efficient means for the delivery of application executables and application data to the STB, as disclosed by co-pending application Ser. No. 09/319,844, entitled “Using a Hierarchical File System For Indexing Data Broadcast to a Client From a Network of Servers”, filed Dec. 9, 1997, assigned to Scientific Atlanta, and incorporated herein by reference. The on-demand DTCs  72 , on the other hand, can carry particular information such as compressed video and audio pertaining to subscriber requested program preview and/or program descriptions, as well as other specialized data information. Although broadcast in nature, the carousel DTCs  68  and on-demand DTCs  72  offer different functionality. The User-to-Network Download Protocol of the MPEG-2 standard&#39;s DSM-CC specification (Digital Storage Media—Command and Control) provides the data carousel protocol used for broadcasting data from a server located at headend  26 . It also provides the interactive download protocol for reliable downloading of data from a server (possibly the same server) to an individual STB through the on-demand DTCs. Each carousel and on-demand DTC is defined by a DSM-CC session.  
         [0025]    Also shown in FIG. 2 is an Out-Of-Band (OOB) channel that provides a continuously available two-way signaling path to the subscribers&#39; STB  14  regardless of which in-band channels are tuned to by the individual STB in-band tuners. The OOB channel consists of a Forward Data Channel (FDC)  76  and a Reverse Data Channel (RDC)  80 . The OOB channel can comply to any one of a number of well known transport protocols but preferably complies to either a DAVIC 1.1 Transport Protocol with a FDC of 1.544 Mbps or more using QPSK modulation and an RDC of 1.544 Mbps or more using QPSK modulation, or to a DOCSIS Transport Protocol with a FDC of  27  Mbps using 64-QAM modulation and a RDC of 1.544 Mbps or more using QPSK modulation or 16-QAM modulation. The OOB channels provide the two-way operation of the network, which allows a subscriber interactivity with the applications and services provided by the network. Therefore, functionality reflected in the STB  14  is similar to a networked computer (i.e., a computer without a persistent storage device), in addition to traditional set top box functionality, as is well known in the art. Furthermore, the OOB channels are not limited to a 6 MHz spectrum, but generally to a smaller spectrum, such as 1.5 or 3 MHz.  
         [0026]    According to one preferred embodiment the present invention leverages the capability of a multiple tuner STB  14  to tune to multiple television channels to effect tuning to one or more channels a logic within the STB determines the subscriber is likely to choose next. Because available tuners and decoders (those not being used to decode a currently viewed MPEG stream representative of a currently viewed television channel) can tune to and decode channels the subscriber is likely to select next, the subscriber will not encounter tuning and decoding delay upon changing the channel. It will be appreciated, however, that the present invention can be effected using a STB  14  having multiple decoders but only one tuner where the look ahead function is limited to looking ahead to television channels received by the tuner on the same frequency as the presently viewed subscriber-selected digital channel. In this situation there is no need for a second tuner since one tuner is only needed to fetch data off a particular frequency. It should also be appreciated that the present invention will be discussed with respect to limiting the time the subscriber must wait before viewing another television channel. However, it will also be appreciated that the present invention can also be used to limit the time a subscriber must wait for program information, such as information requested from an electronic program guide. Thus, the present invention can utilize STB system resources to tune and decode any digital data the system expects the subscriber to request next, whether the data comprises a television channel or electronic program guide data.  
         [0027]    The present invention provides a significant advantage over digital broadcast systems, such as digital satellite systems or digital cable set-top systems, where re-tuning to a separate channel requires time to buffer data for video decompression. Therefore, the present invention provides a method to simultaneously access video, audio and related media from multiple channels with little or no delay. Using a conventional system, it may take a subscriber thirty (30) seconds to scan through thirty (30) channels. Using the present invention, the subscriber can tune to different channels with no delay. Although the present invention will be described herein with reference to a digital data stream, it should be appreciated that content could also be provided over a dedicated analog channel to the HCT  145 . However, an analog data stream may require both the content provider and HCT  145  to include synchronization hardware and software enabling video pictures and other content transmitted over the channel to be accurately received, stored and reconstructed at the HCT  145 .  
         [0028]    The STB  14 , as will be described in detail with reference to FIG. 3, comprises a plurality of decoders to decode multiple television channels received via one or more tuners over one or more transmission channels. Preferably the present invention is implemented using multiple tuners, which enables the STB  14  of the present invention to tune to a plurality of downstream services, thereby allowing a subscriber to tune simultaneously to multiple services over multiple digital transmission channels, including television channels and other media content, transmitted in the downstream via the DBDS. As noted above, the present invention can alternatively be implemented using a STB having one tuner and multiple decoders, where the decoders can simultaneously decode data streams representing multiple television channels received over one tuner. For instance, because each digital transmission channel can receive and tune to multiple digital television channels, the present invention can be implemented using one tuner and multiple decoders for simultaneously decoding multiple television channels.  
         [0029]    Because conventional STBs contain only one in-band tuner that can tune to one frequency at a time, and one decoder for decoding a single data stream, conventional STBs are limited to receiving data and decoding a limited amount of data. The present invention preferably utilizes the multiple tuners and multiple decoders within the STB to allow the reception and decoding of multiple channels received from varying frequencies simultaneously to minimize subscriber-perceived digital video channel tuning delay. Additionally, whereas a two-tuner STB may provide conventional STB functionality through a dedicated tuner for that purpose, and cable modem functionality through a second tuner dedicated to receive Internet data to be routed to a computer or PC externally connected to the STB via a network port such as an Ethernet or USB port, the present invention preferably employs multiple tuners to receive services to be processed within the STB and viewed through a TV display connected to the STB via a STB output port.  
         [0030]    [0030]FIG. 3 shows a block diagrams of components comprising the STB  14  of the present invention, according to one embodiment of the present invention. It should be appreciated that the systems and methods of the present invention are described below with reference to block diagrams and flowchart illustrations of systems, methods, apparatuses and computer program products according to embodiments of the invention. It will be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks.  
         [0031]    These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.  
         [0032]    Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.  
         [0033]    Referring again to FIG. 3, the STB  14  of the present invention includes an interface to the DBDS  106  through which the STB  14  receives data from a plurality of analog or digital channels, including analog and digital broadcast TV programs and data, collectively, services, including video, audio and data channels such as DOCSIS cable modem channels. More specifically, because each tuner  100 ,  102 ,  104  of the STB  14  can select only one in-band channel at a time, a plurality of tuners are provided so that multiple channels transmitting services can be received simultaneously using the STB of the present invention. Although the STB  14  may be implemented using two in-band tuners  100 ,  102 , it may be advantageous to use multiple tuners where a large number of channels are to be displayed simultaneously. The greater the number of tuners included within the STB  14 , the greater resources the STB  14  will have to tune to additional channels the STB  14  anticipates the subscriber may wish to view next. Preferably, the tuners  100 ,  102 ,  104  are capable of receiving signals from an HFC Plant (e.g., an 870 MHz HFC Plant), and each is capable of analog and digital (64/256 QAM) tuning to a single RF channel from a multiplicity of spaced RF channels (e.g., 6 MHz spaced RF channels in the US, 8 MHz in Europe).  
         [0034]    Also included within the STB  14  is an Out-of-Band (OOB) tuner and upstream transmitter  108  which is connected to the interface to the DBDS  106 . The OOB tuner and upstream transmitter  108  enable the STB  14  to interface with a DBDS network so that the STB  14  can provide upstream data to the network, for example, via a QPSK channel or a QAM channel. In this manner, a subscriber can interact with the DBDS to request services, such as Pay-Per-View programming and View-On-Demand programs and/or comprehensive EPG data for desired programs. It should be appreciated that although the OOB tuner and upstream transmitter are illustrated as one component in FIG. 3, the tuner and transmitter can be independent of each other and located separately within the STB  14 , as in FIG. 4, where an OOB  108  and upstream transmitter  109  are separate components of the STB  14 . Nonetheless, both components must be in communication with the DBDS so that upstream transmissions can be received by the system. According to one aspect of the invention, a telephone modem in the STB  14  can be utilized for upstream data transmission and a headend  26 , hub  34  or other component located upstream in the DBDS can receive data from a telephone network in communication with the telephone modem, where the telephone network routes the upstream data to a destination internal or external to the DBDS, such as a Content Provider.  
         [0035]    Referring again to the STB  14  shown in FIG. 3, after the one or more tuners  100 ,  102 ,  104  select one or more transmission channels, incoming data is forwarded to hardware  114  comprising circuitry with capability for demodulating  116 , demultiplexing and parsing  118 , and decrypting  120  the incoming signals. More specifically, the hardware components  114  are capable of QAM demodulation, Forward Error Correction (FER), Parsing MPEG-2 Transport Streams, Packetized Elementary Streams and Elementary Streams, and Decryption, as is well known in the art, to counter the effect of signal processing of broadcast media and data in the DBDS. Particularly, such signal processing is performed at the headend  26  and in some cases it may be performed in part at the hubs  34 . Received compressed video streams and audio streams can be deposited continuously into Compressed Audio and Video Buffers of Media Memory  126 . Although not illustrated in the embodiment of FIG. 3, additional components can be included within the hardware  114 , such as descramblers, decoders, digitizers, signal amplifiers, and other circuitry for signal or error recovery.  
         [0036]    One primary component of the STB  14  is the CPU  110 , which controls the functions of the STB  14  via a real-time, multi-threaded operating system that enables task scheduling and switching capabilities. More specifically, the CPU  110  operates to execute programs, stored in System Memory  112 , under the auspices of the Real-Time Operating System. The CPU  110  may be directed to execute a Watch TV application by a viewer when the viewer presses keys of an remote control, such as an infrared or UHF remote control, associated with the STB  14 . Infrared or UHF signals are received through a port  128  in the STB  14 . For instance, where a viewer requests to view a particular channel, a Watch TV application executing on CPU  110  will cause the CPU  110  to generate a request message for the particular television channel. This request can be transmitted to an available tuner such that the subscriber can view the requested program.  
         [0037]    Also included within the STB  14  is a Media Decoders  132  which further processes signals for output via output ports  124  to a television set or display. The output ports  124  preferably comprise a RF Channel  3  and  4  output to drive an analog TV or Display or other device such as a VCR, as well as an output video port to drive a display, monitor or TV set that receives an analog TV signal at its input. Additionally, it should be appreciated that the TV or display may be connected to the STB  14  via a video port such as Composite Video, S-Video, or Component Video. The output ports  124  can also comprise Digital Component Video or an IEEE-1394 interface to drive a TV or Display that receives non-compressed digital TV signals at its input. The Media Decoders  132  includes components for analog and digital video decoding, as well as analog and digital audio decoding, as are well known in the art. It should be appreciated that the Media Decoders  132  represents that the STB  14  can include many decoders, and not necessarily one decoder for each tuner. Therefore, the STB  14  can include more (or fewer) decoders than the number of tuners within the STB  14 . As shown in FIG. 3, components of the STB  14  include an analog descrambler and analog video decoder with capability for analog video or audio descrambling, and a security processor  130  working in conjunction with a decryptor  120  to decrypt encrypted digital video, audio or data, as is well known to those of skill in the art. The security processor  130  functions to authorize paying subscribers&#39; STBs to execute specialized features of the STB  14 , such as executing the EPG software application and receiving EPG Data.  
         [0038]    The STB  14  also includes Memory Controllers  134  and a Media Memory  126 . These components can include software and hardware to compose and store graphical information created by the CPU  110 . These components enable the compositing of graphical data (e.g., EPG content) with video into a picture for a TV display as provided by capabilities in Media Decoders  132 . Such compositions include graphics data overlayed on video, or downscaled video overlayed onto graphics, or a composition of non-overlapping downscaled motion video pictures and graphic partitions of display.  
         [0039]    Lastly, FIG. 3 shows a Look-Ahead Tuning logic  200  within the STB  14 . As will be discussed with respect to FIG. 4, the Look-Ahead Tuning logic  200  predicts a channel, channels or content that a subscriber may next view, and utilizes available resources of the STB  14  to continuously tune to and decode the predicted channels such that the subscriber does not have to wait for tuning should the subscriber change the channel to one of the predicted channels. As illustrated in FIG. 3, the Look-Ahead Tuning logic  200  is in communication with hardware and software components within the STB  14 , which the Look-Ahead Tuning logic  200  must query to determine if resources are available to effect look-ahead tuning. Additionally, if the resources are available, the Look-Ahead Tuning logic  200  will request that the resources tune to and decode the channel or channels the Look-Ahead Tuning logic  200  determines are most likely to be selected next by the subscriber.  
         [0040]    [0040]FIG. 4 is a block diagram of the Look-Ahead Tuning logic  200  of the STB  14  of FIG. 3, according to one embodiment of the present invention. It should be appreciated by those of ordinary skill in the art that FIG. 4 only describes one possible implementation of the Look-Ahead Tuning logic, and that many other implementations are obvious to those of skill in the art given the present description. FIG. 4 depicts a Look-Ahead Tuning logic  200  where channel predictions are continuously refined to maximize the likelihood of pre-tuning to a channel that the subscriber actually will watch. The subscriber&#39;s channel tuning experience is enhanced, shortened, and simplified with the Look-Ahead Tuning logic  200 .  
         [0041]    Basically, the Look-Ahead Tuning logic  200  illustrated in FIG. 4 comprises a feedback system where channel prediction is adjusted based on feedback from the subscriber based on subscriber commands  285 . Subscriber commands  285  are typically input using a remote control device, though it will be appreciated that the commands may also be entered directly into the STB  14 . Some of the measurable feedback originating from the subscriber can include: (1) What channels the subscriber has tuned the most in terms of frequency and duration; (2) The channel surfing pattern of the subscriber; (3) Which subscriber in the household is tuning; (4) The duration between pauses during channel change; (5) The time-of-day of the channel surfing action; (6) The frequency of the predicted channels that were physically tuned but not needed by the subscriber; (7) The frequency of the predicted channels that were physically tuned but were skipped by the subscriber. That is, if the subscriber paused on the channel but moved on to other channels; and (8) The frequency of the “predicted” channels that were physically tuned and the subscriber watched for a period of time.  
         [0042]    Referring again to FIG. 4, the Look-Ahead Tuning logic  200  includes a channel prediction logic  205 . The channel prediction logic  205  contains independent logic components to generate a list of candidate channels to which the STB  14  will tune and decode using available resources. The logic components include: next favorite channels  210 , last N channels tuned (i.e., viewed by the subscriber)  215 , most frequently tuned channels  220 , channels within the vicinity of the current channel  225 , channels within the genre of the current channel  230 , channels that are time specific  235 , and channels predicted by a statistic or pattern matching logic  240 . Each of these are more fully described below.  
         [0043]    The next favorite channels logic  210  has access to a subscriber&#39;s favorite channels, which are channels the subscriber has shown interest in. These favorite channels can be created from subscriber input and stored in STB memory or derived from subscriber interaction with the channel surfing process. For instance, this logic can assign a next favorite channel status to those channels the subscriber has selected most over the past week, on that particular day, or the like. The last N channels tuned logic  215  maintains a list of N distinct channels that the subscriber has recently tuned to (i.e., viewed), where N is a positive integer. Next, the most frequently tuned channels logic  220  maintains a list of M distinct channels that the subscriber has tuned to most frequency where M is a positive integer. For instance, this logic can assign a next favorite channel status to those channels the subscriber has selected most over the past week, on that particular day, or the like. Channels within the vicinity of the current channel logic  225  maintains a list of available distinct channels that are within the vicinity of the current active channel. For example, if channel 89 is tuned and the channel lineup has channels available from 2 to 200, the vicinity of channel 89 would be the channels within the range of 89 plus or minus P channels, where P is a positive integer. In this case, if P is 5 then the vicinity of 89 would be channels 84 through 94.  
         [0044]    Channels within the genre of the current channel logic  230  may select and maintain a list of channels that matches the genre of the channel watched by the subscriber, where a watched channel may be defined as a channel that the subscriber stayed on for a period of time. For instance, where a subscriber watches a large number of sporting events, the genre of the current channel logic  230  may select and maintain the of channels specializing in sports or showing a sports broadcast. Next, the channels that are time specific logic  235  maintains a list of channels that matches the duration of the time-of-day. For example, between 9 PM through 11:30 PM, the list might contain all channels that are showing news. Lastly, channels predicted by statistics or pattern matching logic  240  is a channel list generated by statistics, pattern matching, neural network, random guessing, or some system specific method.  
         [0045]    According to one embodiment of the invention, using one or more of the logic components  210 - 240  described immediately above the channel prediction logic  205  generates several lists of candidate channels to which the STB  14  can devote available tuning and decoding resources to tune to and decode. Preferably, the channel prediction logic  205  block will then consolidate each of the lists created by each of the logic components  210 - 240  into one list  245  with distinct candidate channels. According to one aspect of the invention, this list  245  may be created based upon the channels that are noted by most logic components. According to another aspect of the invention, the channel prediction logic  205  will retrieve weighted values from a weight database  265 . These weighted values may be used to reinforce or reject candidate channel selections. Using these weighted values, the consolidated candidate list  245  will have, for each channel, an associated possibility or priority factor. For example, the candidates in the consolidate list may be ordered in highest to lowest priority according to their respective weighted values. The consolidated list  245  is then communicated to the tuning manager  250 .  
         [0046]    Briefly, the tuning manager  250  manages the tuning resources, including determining the tuning and decoding resources available. Based upon the resources available, the tuning manager  250  will select channels from the candidate list  245  and match the channels with the available hardware. To effect this match the tuning manager  250  relies on real-time hardware availability information received from the resource manager  255 . Tuning resources can include items such as tuners, data paths (i.e., Ethernet, RF, IEEE-1394, etc.), decoders (i.e., MPEG video/audio decoder, etc.), clock synchronization devices, hardware or software data filters, and the like. Next, the tuning manager  250  issues tuning commands  260  to the appropriate resources  270  in order to fully match the maximum number of candidate channels to the hardware resources. The tuning manager  250  also must manage available resources  270  that might appear or disappear in real-time. For example, tuner and decoder resources might disappear if a picture-in-picture feature is suddenly activated by a subscriber.  
         [0047]    The prediction evaluation logic  275  gathers the information from subscriber interaction, which includes commands  285  received from the various input devices (e.g., remote control, keyboard, mouse, etc.), and the tuning commands  260  issued by the tuning manager  250 . This logic  275  determines the accuracy of the predictions by denoting channels as being ‘hit’ or ‘missed’, where a channel that is ‘hit’ is a channel that was predicted to be watched by the subscriber and was watched by the subscriber, and where a ‘missed’ channel is one that was predicted to be watched by the subscriber but was not. Prediction evaluation logic can then use this information to adjust a prediction database to effect a more accurate predictions in the future. According to one aspect of the invention, the prediction evaluation logic  275  can produce positive reinforcement for all ‘hit’ channels and negative reinforcement for all ‘missed’ channels. The reinforcement comes via adjustment to the prediction database  280 .  
         [0048]    Although the prediction database  280  is illustrated as located within the Look-Ahead Tuning logic  200 , and this within the STB  14 , it should be appreciated that the prediction database  280  can also comprise an entity situated at a cable plant headend. In one implementation, the prediction database  280  gathers and stores information from prediction evaluation logic  275  associated with multiple set-top boxes. The requirement for this implementation is that the STB  14  can transmit information back to the cable plant headend. The benefit of having a centralized database is that statistics and subscriber behaviors can be extracted from multiple subscribers to derive a more generic and accurate channel tuning prediction model. Additionally, special external conditions and events (e.g. Super Bowl, Olympic, etc.) can be factored into the model. The prediction database  280  can update the weight database  265  for STBs in real-time or on some periodic schedule. In a system where the prediction database  280  is de-centralized and local to the STB  14 , the prediction database  280  can still effect the many benefits of the centralized system with the exception of not benefiting from behaviors learned from the masses (i.e. interactions between other subscribers and their STBs).  
         [0049]    Referring again to the weight database  265 , the weight database  265  contains a set of data that the channel prediction logic  205  can use to make the candidate channel list  245 . In the simplest implementation, all the independent logic (as mentioned previously) might be equal likely since the weights would be equal. The weights, however, may be manipulated by the prediction database  280  based on feedback from other sources and are used to either perform positive or negative reinforcement in creating the candidate channel list  245 . For example, if a subscriber does a lot of toggling between the current and last channel, the weight for the last N channels tuned logic  215  would be positively reinforced. With a higher weight factor, the last N channels tuned logic  215  would get higher priority placement in the final candidate channel list  245 . In turn, the tuning manager  250  is more likely to assign the few resources to pre-tune these higher likelihood channels.  
         [0050]    Many modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.