Patent Publication Number: US-10785529-B2

Title: Anticipatory video signal reception and processing

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE 
     This patent application is a continuation of and claims priority to and the benefit of U.S. patent application Ser. No. 15/676,810, filed Aug. 14, 2017, which is a continuation of and claims priority to and the benefit of U.S. patent application Ser. No. 15/255,505, filed Sep. 2, 2016, which is a continuation of and claims priority to and the benefit of U.S. patent application Ser. No. 14/492,928, filed Sep. 22, 2014, which is a continuation of and claims priority to and the benefit of U.S. patent application Ser. No. 11/046,378, filed Jan. 28, 2005, which claims the benefit of U.S. Provisional Application No. 60/556,667, filed Mar. 26, 2004, the contents of which are hereby incorporated herein by reference in their entirety for all purposes. 
    
    
     FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     [Not Applicable] 
     SEQUENCE LISTING 
     [Not Applicable] 
     MICROFICHE/COPYRIGHT REFERENCE 
     [Not Applicable] 
     BACKGROUND OF THE INVENTION 
     In various digital video systems, there is a latency time between when a user makes a request for particular video information and when the system presents the requested video information to the user. For example and without limitation, a user may specify a viewing channel corresponding to video information that the user is interested in viewing. Further for example, a user may select a video information title from a menu, a user may enter a channel up/down request, or a user may sequence through a list of favorite video channels. 
     There will generally be a latency time between when the user requests video information and when the system presents the requested video information to the user. There may be any of a large variety of causes for such latency. Such causes may comprise, without limitation, request processing delays, information communication delays and information processing delays. In general, users prefer that the latency time between a video information request and presentation of the requested video information to the user be minimized. 
     Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings. 
     BRIEF SUMMARY OF THE INVENTION 
     Various aspects of the present invention provide a system and method for reduced latency in a video signal processing system. Such a video signal processing system may, for example and without limitation, comprise a television, television receiver, personal video recorder, etc. 
     Various aspects of the present invention may comprise receiving a current request from a user for first video information. Such a request may, for example, be received with a user interface module. In an exemplary television scenario, such a request may comprise a request for a particular channel, next channel, previous channel, menu selection, etc. 
     A first video stream and a second video stream may be received simultaneously, where the first video stream comprises the first video information currently requested by the user, and the second video stream comprises second video information not currently requested by the user. A video receiver module may, for example, perform such receiving. 
     Various aspects of the present invention may comprise determining the second video stream based on any of a number of criteria. For example, such a determination may be based on a previously presented video program, a sequential list of programs, previous or next channel information, or monitored user request behavior. 
     The first video stream may be processed to present the first video information to the user at the current time. Further, the second video stream may be pre-processed in preparation for being presented to the user in the future. A video processing module may, for example, perform such video stream processing. For example and without limitation, such pre-processing may comprise buffering data corresponding to the second video stream, communicating conditional access information, tracking temporal aspects, performing various parsing activities, full or partial decoding, and/or managing a buffer to provide access point information with minimal latency. 
     These and other advantages, aspects and novel features of the present invention, as well as details of illustrative aspects thereof, will be more fully understood from the following description and drawings. 
    
    
     
       BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS 
         FIG. 1  is a flow diagram illustrating an exemplary method for providing reduced latency in a video signal processing system, in accordance with various aspects of the present invention. 
         FIG. 2  is a flow diagram illustrating an exemplary method for providing reduced latency in a video signal processing system, in accordance with various aspects of the present invention. 
         FIG. 3  is a diagram showing an exemplary system that provides reduced latency in a video signal processing system, in accordance with various aspects of the present invention. 
         FIG. 4  is a diagram showing an exemplary system that provides reduced latency in a video signal processing system, in accordance with various aspects of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  is a flow diagram illustrating a method  100  for providing reduced latency in a video signal processing system, in accordance with various aspects of the present invention. The exemplary method  100  may begin at step  110  in response to any of a large variety of causes and conditions. For example and without limitation, in an exemplary video signal-processing scenario, the method  100  may begin when a television receiver is powered up or turned on. Alternatively, for example, the method  100  may begin in response to an explicit user command to begin or an explicit user request for particular video information. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular initiating events or conditions. 
     The exemplary method  100  may, at step  120 , comprise receiving a current request from a user for current (or first) video information. Such a request may comprise any of a large variety of characteristics. For example and without limitation, such a request may comprise a selection of a video program from a menu, a request to view a program on a particular television channel, a request to view a program on a next, previous or last channel, a request to view a channel on a sequential list of channels (e.g., a list of favorite or genre channels), etc. Note that video information (e.g., a video program) may often, but not necessarily, include corresponding audio information. 
     Further for example, a user may communicate such a request in any of a large variety of ways. For example, a user may communicate such a request using various user interface devices. For example and without limitation, a user may communicate such a request using a television or video receiver remote control, using buttons on a television or video receiver, using a graphical user interface, etc. 
     In general, step  120  may comprise receiving a current request from a user for current video information. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of a particular type of request or way of receiving such a request. 
     The exemplary method  100 , at step  130 , may comprise receiving a first video stream and a second video stream simultaneously. For example, the first video stream may comprise the current (or first) video information corresponding to the user request received at step  120 , and the second video stream may comprise second video information that was not requested by the user for current presentation. 
     As will be discussed in more detail later with respect to the exemplary method  200  illustrated in  FIG. 2 , the exemplary method  100  may comprise determining the second (or non-requested) video information in a variety of ways. For example and without limitation, the method  100  may comprise determining the second video information based, at least in part, on previously presented video information, a sequential list of video information, monitored user video request behavior, etc. The scope of various aspects of the present invention should not be limited by characteristics of a particular way of determining and/or identifying the second video information. 
     Receiving a video stream may, for example, comprise any of a variety of video receiving activities. For example and without limitation, receiving a video stream may comprise receiving a signal comprising the video stream through a tuner and associated receiver. In an exemplary television scenario, a plurality of video streams of a multi-stream QAM channel may be received through a tuner and associated QAM receiver. The exemplary tuner and QAM receiver may, for example, transform the received multi-stream QAM signal to digital video data corresponding to a plurality of video streams carried in the QAM signal. Video data streams corresponding to the currently requested first video information and the second video information may then be selected from the variety of video streams, and the data corresponding to the remaining streams may be discarded. 
     In an alternative exemplary television scenario, respective pluralities of video streams may be received by a plurality of tuners and associated QAM receivers. For example, a first tuner and QAM receiver may transform a first multi-stream QAM channel to digital data corresponding to a first plurality of video streams, and a second tuner and QAM receiver may transform a second multi-stream QAM channel to digital data corresponding to a second plurality of video streams. A first video data stream corresponding to the currently requested first video information may be selected from the first plurality of video streams, and a second video data stream corresponding to the second video information may be selected from the second plurality of video streams. 
     Note that the above television QAM examples are merely exemplary and should by no means limit the scope of various aspects of the present invention. In general, step  130  may comprise receiving a first video stream and a second video stream simultaneously, where the first video stream comprises the requested current (or first) video information, and the second video stream comprises the second video information that was not requested by the user for current presentation. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of the previously discussed exemplary scenarios or of particular video signal receiving methods or apparatus. 
     The exemplary method  100 , at step  140 , may comprise processing the received first video stream to present the first video information to the user at the current time. Such processing may, for example, comprise buffering first video stream data for decryption and/or decoding. Such processing may, for example, comprise performing error correction on the first video stream data. Such processing may also, for example, comprise communicating conditional access information. Such processing may further, for example, comprise tracking timing for components of the first video information. Such processing may additionally, for example, comprise parsing various protocol layers associated with the first video stream. Such processing may, for example, comprise decoding video data in the first video stream. Such processing may, for example, comprise generating a video display driver signal that, when applied to a video display, causes the video display to generate a corresponding human-perceivable video image. 
     In an exemplary television video scenario, step  140  may comprise processing the received first video stream by buffering video data associated with the first video stream, decoding the buffered video data, converting the decoded video data into a video display driver signal, and providing the video display driver signal to a video display device. 
     In general, step  140  may comprise processing the received first video stream to present the first video information to the user at the current time. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of particular video signal processing activities performed to present video information to a user. 
     The exemplary method  100 , at step  150 , may comprise pre-processing the received second video stream in preparation for presenting the second video information to the user in the future. Step  150  may, for example, reduce latency in presenting the second video information to the user, if and when the user requests the second video information, by performing pre-processing in preparation for presenting the second video information to the user. Step  150  may, for example, comprise performing various portions of the total processing (e.g., as performed at step  140  to present the first video information) performed to present the second video information to the user. 
     For example and without limitation, step  150  may comprise buffering second video stream data for decryption and/or decoding. Such buffering of video information corresponding to video information not presently being presented to a user may reduce latency caused by the time it takes to fill a buffer with new video information. 
     Such buffering may also, for example, comprise managing buffered data from the second video stream such that a next applicable access point and subsequent compressed data are generally available for decoding upon user request for the second video information. Managing the buffered data in such a way may reduce latency caused by waiting for an access point to arrive before beginning decoding activities. An access point may generally be considered to be a point in the video data stream at which decoding may effectively begin. For example and without limitation, such an access point may comprise a reference frame (or intra-coded frame) in various video encoding schemes. 
     Step  150  may, for example, comprise communicating conditional access information related to the second video stream with a source of the second video stream. For example, step  150  may comprise determining and/or establishing the rights of the user to receive the second video information prior to the user requesting the second video information. Such determination of user rights corresponding to the second video information may reduce latency in presenting the second video information to the user if and when the user requests the second video information. 
     Also, for example, step  150  may comprise preparing for, or even performing, decryption of encrypted video information. For example, step  150  may comprise exchanging public and private key information with a source of the second video stream. Step  150  may, for example, comprise decrypting encrypted second video information prior to the user requesting the second video information. Such establishment and/or performance of decryption activities corresponding to the second video information may reduce latency in presenting the second video information to the user if and when the user requests the second video information. 
     Further for example, step  150  may comprise performing error correction processing of received video data from the second video stream. By performing such error correction processing prior to the user requesting the second video information, latency resulting from performing error correction on an initial portion of the second video stream, if and when the user requests the second video information, may be reduced or eliminated. 
     Step  150  may, for example, comprise tracking timing for components of the second video information. For example and without limitation, step  150  may comprise tracking video display synchronization for the second video information relative to the video display synchronization of the first video information being presently provided to the user. Such timing tracking may, for example, be utilized to control buffering activities for the second video information to provide a smooth and rapid transition between presentation of the first video information and presentation of the second video information if and when the user requests the second video information. 
     Step  150  may, for example, comprise parsing various communication protocol layers associated with the second video stream. By performing such parsing activities prior to the user requesting the second video information, latency resulting from performing such parsing after the user requests the second video information may be reduced or eliminated. 
     Step  150  may, for example, comprise decoding video data in the second video stream prior to the user requesting the second video information. Such decoding of video data from the second video stream prior to the user requesting the second video information may reduce or eliminate latency associated with decoding an initial portion of the data from the second video stream after the user requests the second video information. 
     In an exemplary television video scenario, step  150  may comprise pre-processing the received second video stream by buffering video data associated with the second video stream and maintaining the buffer such that an access point and subsequent compressed data are generally available for decoding if and when the user requests the second video information. 
     In general, step  150  may comprise pre-processing the received second video stream in preparation for presenting the second video information to the user in the future. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of particular video signal pre-processing activities performed in preparation for presenting the second video information to a user if and when the user requests the second video information. 
     Note that the exemplary method  100  is not to be limited to receiving and pre-processing only one non-requested video stream. For example and without limitation, the method  100  may comprise receiving and pre-processing a third (or n th ) video stream simultaneously with the first and second video streams, where the third video stream comprises third video information not currently requested by the user. In an exemplary scenario, the second video stream may comprise information corresponding to an adjacent video channel lower than the current video channel, and the third video stream may comprise information corresponding to an adjacent video channel higher than the current video channel. 
       FIG. 2  is a flow diagram illustrating an exemplary method  200  for providing reduced latency in a video signal processing system, in accordance with various aspects of the present invention. The exemplary method  200  may, for example and without limitation, share various characteristics with the exemplary method  100  illustrated in  FIG. 1  and discussed previously. 
     The exemplary method  200  may begin at step  210 , which receives a current request for current video information. Step  210  may, for example and without limitation, share various characteristics with the exemplary method  100  (e.g., steps  110  and  120 ) illustrated in  FIG. 1  and discussed previously. In the exemplary method  200 , step  210  may be initiated in response to a user communicating a current request for current (or first) video information. Such a request may comprise any of a large variety of characteristics. For example and without limitation, such a request may comprise information regarding a selection of a video program from a menu, a request to view a program on a particular television channel, a request to view a program on a next, previous or last channel, a request to view a channel on a sequential list of channels (e.g., a list of favorite or genre channels), etc. 
     Further for example, a user may communicate such a request in any of a large variety of ways. For example, a user may communicate such a request using various user interface devices. For example and without limitation, a user may communicate such a request using a television or video receiver remote control, using buttons on a television or a video receiver, using a graphical user interface, etc. 
     In general, step  210  may comprise receiving a current request for current video information. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of a particular type of request or way of receiving such a request. 
     The exemplary method  200 , at step  220 , may comprise receiving a current (or first) video stream. Step  220  may, for example and without limitation, share various characteristics with the exemplary method  100  (e.g., step  130 ) illustrated in  FIG. 1  and discussed previously. The first video stream may, for example, comprise the current (or first) video information requested in the request received at step  210 . 
     Receiving the first video stream may, for example, comprise any of a variety of video receiving activities. For example and without limitation, receiving the first video stream may comprise receiving a signal comprising the first video stream through a tuner and associated receiver. In an exemplary television scenario, a plurality of video streams of a multi-stream QAM channel may be received through a tuner and associated QAM receiver. The exemplary tuner and QAM receiver may, for example, transform the received multi-stream QAM signal to digital video data corresponding to a plurality of video streams carried in the QAM signal. The video data stream(s) corresponding to the currently requested first video information may then be selected from the plurality of video streams. Note that the above television QAM example is merely exemplary and should by no means limit the scope of various aspects of the present invention. 
     In general, step  220  may comprise receiving a first video stream comprising the current (or first) video information requested in the request received at step  210 . Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of the exemplary scenario or of particular video signal receiving methods or apparatus. 
     The exemplary method  200 , at step  230 , may comprise processing the received first video stream to present the first video information to the user at the current time. Step  230  may, for example, share various characteristics with step  140  of the exemplary method  100  illustrated in  FIG. 1  and discussed previously. 
     Such processing may, for example, comprise buffering first video stream data for decryption and/or decoding. Such processing may, for example, comprise performing error correction on the video stream data. Such processing may also, for example, comprise communicating conditional access information. Such processing may further, for example, comprise tracking timing for components of the first video information. Such processing may, for example, comprise parsing various protocol layers associated with the first video stream. Such processing may additionally, for example, comprise decoding video data in the first video stream. Such processing may, for example, comprise generating a video display driver signal that, when applied to a video display, causes the video display to generate a corresponding human-perceivable video image. 
     In an exemplary television video scenario, step  230  may comprise processing the received first video stream by buffering video data associated with the first video stream, decoding the buffered video data, converting the decoded video data into a video display driver signal, and providing the video display driver signal to a video display device. 
     In general, step  230  may comprise processing the received first video stream to present the first video information to the user at the current time. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of particular video signal processing activities performed to present video information to a user. 
     The exemplary method  200 , at step  240 , may comprise presenting the requested current (or first) video information to a user. For example and without limitation, step  240  may comprise driving a video display device to generate human-perceivable video signals corresponding to the currently requested video information. Such a video display device may, for example, comprise an independent display device or a display device integrated into a television set. Such a video display device may comprise a fixed or portable display device. In general, step  240  may comprise presenting the requested current (or first) video information to a user. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of particular display devices or human-perceivable video signals. 
     The execution of exemplary method  200  may flow simultaneously to steps  220  and  250 . Steps  220 - 240  may generally receive, process and present the currently requested video information, while steps  250 - 270  may generally receive and pre-process non-requested video information for efficient future presentation. In an exemplary scenario, steps  220 - 240  may be performed simultaneously with steps  250 - 270 . Note, however, that such parallel operation is not required. 
     The exemplary method  200 , at step  250 , may comprise determining (or identifying) the next (or second) video information and corresponding video stream(s) that a user may request after the current video information. Such a determination may comprise characteristics of any of a large number of prediction methods or algorithms. For example and without limitation, step  250  may comprise determining the next video stream based on previously presented video information (e.g., previous channel). Also for example, step  250  may comprise determining the next video stream based on a sequential list of video information (e.g., a channel sequence or favorites list). Further for example, step  250  may comprise determining the next video stream based on monitored user behavior (e.g., channel(s) most often viewed, whether the user is channel surfing up or down, whether the user is hopping between sports channels or movie channels, etc.). 
     In an exemplary scenario, step  250  may comprise predicting a plurality of potential next video information streams, for subsequent receiving and pre-processing. In general, step  250  may comprise predicting the next video information and/or associated video stream(s) that a user may request next. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of a particular technique for making such a prediction. 
     The exemplary method  200 , at step  260 , may comprise receiving the next (or second) video stream corresponding to predicted next video information that the user may request next (e.g., as predicted at step  250 ). Step  260  may, for example and without limitation, share various characteristics with step  130  of the method  100  illustrated in  FIG. 1  and discussed previously. 
     Receiving the second video stream may, for example, comprise any of a variety of video receiving activities (e.g., as discussed previously regarding receiving the first video stream at step  220 ). For example and without limitation, receiving the video stream may comprise receiving a signal comprising the second video stream through a tuner and associated receiver. Such a tuner and associated receiver may, for example, be the same as those used to receive the first video stream at step  220 , or may be different. 
     In an exemplary non-limiting television scenario, a plurality of video streams of a multi-stream QAM channel may be received through a tuner and associated QAM receiver. The exemplary tuner and QAM receiver may, for example, transform the received multi-stream QAM signal to digital video data corresponding to a plurality of video streams carried in the QAM signal. A video data stream corresponding to the second video information may then be selected from the variety of video data streams, and the data corresponding to the remaining streams discarded. Note, however, that video data streams corresponding to the first video information and the second video information may both be received through the same tuner and QAM receiver when the video data streams are part of the same QAM signal. 
     In an alternative exemplary non-limiting television scenario, respective pluralities of video streams may be received by a pair of tuners and corresponding QAM receivers. For example, a first tuner and QAM receiver may transform a first multi-stream QAM channel to digital video data corresponding to a first plurality of video streams, and a second tuner and QAM receiver may transform a second multi-stream QAM channel to digital video data corresponding to a second plurality of video streams. A first video data stream corresponding to the currently requested first video information may be selected from the first plurality of video streams, and a second video data stream corresponding to the second video information may be selected from the second plurality of video streams. 
     Note that the previous television QAM examples are merely exemplary and should by no means limit the scope of various aspects of the present invention. In general, step  260  may comprise receiving the next (or second) video stream simultaneously with the current (or first) video stream, where the first video stream comprises the requested current (or first) video information, and the second video stream comprises the next (or second) video information that was not requested by the user for current presentation. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of the exemplary scenarios or of particular video signal receiving methods or apparatus. 
     The exemplary method  200 , at step  270 , may comprise pre-processing the received second video stream in preparation for presenting the second video information to the user in the future. Step  270  may, for example and without limitation, share various aspects with step  150  of the exemplary method  100  illustrated in  FIG. 1  and discussed previously. 
     As explained previously, execution of the exemplary method  200  may loop through steps  250 - 270  to form an execution loop in which next video information is predicted, received, and processed in preparation for presentation if and when a request for the predicted next video information is received. 
     Note that the exemplary method  200  is not to be limited to receiving and pre-processing only one non-requested video stream. For example and without limitation, the method  200  may comprise receiving and pre-processing a third (or n th ) video stream simultaneously with the first and second video streams, where the third video stream comprises third video information not currently requested by the user. 
       FIG. 3  is a diagram showing an exemplary system  300  that provides reduced latency in a video signal processing system, in accordance with various aspects of the present invention. Various components and/or modules of the exemplary system  300  may, for example and without limitation, perform various functions of the exemplary methods  100 ,  200  illustrated in  FIGS. 1-2  and discussed previously. 
     The exemplary system  300  may comprise a user interface module  310  that receives a current request from a user for current (or first) video information. The user interface module  310  may, for example and without limitation, perform various aspects of the exemplary methods  100 ,  200  (e.g., steps  120  and  210 ) illustrated in  FIGS. 1-2  and discussed previously. 
     For example, the user interface module  310  may receive a current request for current (or first) video information. Such a request may comprise any of a large variety of characteristics. For example and without limitation, such a request may comprise a selection of a video program from a menu, a request to view a program on a particular television channel, a request to view a program on a next, previous or last channel, a request to view a channel on a sequential list of channels (e.g., a list of favorite or genre channels), etc. 
     Further for example, a user may communicate such a request with the user interface module  310  in any of a large variety of ways. For example and without limitation, the user interface module  310  may communicate with a user using a television or video receiver remote control. The user interface module  310  may, for example, communicate with a user using buttons on a television or video receiver. The user interface module  310  may, for example, communicate with a user using a graphical user interface (e.g., a program menu). 
     In general, the user interface module  310  may receive a current request for first (or current) video information. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of a particular way or apparatus for receiving such a request. 
     The exemplary system  300  may comprise a video receiver module  320  that simultaneously receives a first video stream and a second video stream, wherein the first video stream comprises the requested current (or first) video information, and the second video stream comprises second video information that is not currently requested by the user. The video receiver module  320  may, for example and without limitation, perform various functions of the exemplary methods  100 ,  200  (e.g., steps  130 ,  220  and  260 ) illustrated in  FIGS. 1-2  and discussed previously. 
     For example, the video receiver module  320  may simultaneously receive a current (or first) video stream and a next (or second) video stream. The video receiver module  320  may receive the first video stream and second video stream by performing any of a variety of video receiving activities. For example and without limitation, the video receiver module  320  may receive the first video stream and second video stream by receiving one or more signals comprising the first video stream and the second video stream through one or more tuners and associated receivers. 
     As will be discussed in more detail later, the identity of the second video stream may be determined by the video processing module  330  (or associated module), which is communicatively coupled to the video receiver module  320 . 
     In an exemplary television scenario, the video receiver module  320  may receive a plurality of video streams of a multi-stream QAM channel through a tuner and associated QAM receiver. The exemplary tuner and QAM receiver may, for example, transform the received multi-stream QAM signal to digital video data corresponding to a plurality of video streams carried in the QAM signal. The video data stream(s) corresponding to the currently requested first video information and the second video information may then be selected from the variety of video streams, and the remaining data may be discarded. 
     In an alternative exemplary non-limiting television scenario, respective pluralities of video streams may be received by a plurality of tuners and associated QAM receivers. For example, a first tuner and QAM receiver may transform a first multi-stream QAM channel to digital video data corresponding to a first plurality of video streams, and a second tuner and QAM receiver may transform a second multi-stream QAM channel to digital video data corresponding to a second plurality of video streams. A first video data stream corresponding to the currently requested first video information may be selected from the first plurality of video streams, and a second video data stream corresponding to the second video information may be selected from the second plurality of video streams. 
     Note that the previous television QAM examples are merely exemplary and should by no means limit the scope of various aspects of the present invention. In general, the exemplary video receiver module  320  may simultaneously receive a first video stream and a second video stream, wherein the first video stream comprises the requested current (or first) video information, and the second video stream comprises second video information that is not currently requested by the user. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of a particular received signal or a particular receiver module apparatus or configuration. 
     The exemplary system  300  may comprise a video processing module  330  that processes the first video stream to present the first video information to the user at the current time, and pre-processes the second video stream in preparation for presenting the second video information to the user at a future time. The video processing module  330  may, for example and without limitation, perform various functions of the exemplary methods  100 ,  200  (e.g., steps  140 ,  150 ,  230 ,  250  and  270 ) illustrated in  FIGS. 1-2  and discussed previously. 
     For example, the video processing module  330  may process the received first video stream to present the first video information to the user at the current time. In performing such processing, the video processing module  330  may, for example, buffer first video stream data for decryption and/or decoding. Also, the video processing module  330  may, for example, perform error correction processing. Additionally, for example, the video processing module  330  may communicate (e.g., receive and/or transmit) conditional access information with a source of the first video stream. Also, the video processing module  330  may, for example, track timing (e.g., timestamps or synchronization) for components of the first video information. Further, the video processing module  330  may parse various protocol layers associated with the first video stream. The video processing module  330  may, for example, decode video data in the first video stream. In addition, the video processing module  330  may generate a video display driver signal (e.g., independently or in conjunction with a video display driver module) that, when applied to a video display, causes the video display to generate a corresponding human-perceivable video image. 
     In an exemplary television video scenario, the video processing module  330  may process the received first video stream by buffering video data associated with the first video stream, decoding the buffered video data, converting the decoded video data into a video display driver signal (e.g., independently or in conjunction with a video display driver module), and providing the video display driver signal to a video display device. 
     The video processing module  330  may pre-process the received second video stream in preparation for presenting the second video information to the user in the future. The video processing module  330  may, for example, reduce latency in presenting the second video information to the user if and when the user requests the second video information by performing pre-processing in preparation for presenting the second video information to the user. The video processing module  330  may, for example, perform various portions of the total processing required to present the second video information to the user. 
     The video processing module  330  (or a sub-module thereof) may determine or identify the second video stream. For example, the video processing module  330  may determine (or identify) the next (or second) video information and corresponding video stream(s) that a user may request after the current video information. Such a determination may, for example and without limitation, comprise characteristics of any of a large number of prediction methods or algorithms. For example and without limitation, the video processing module  330  may determine the next video stream based on previously presented video information (e.g., previous channel). Also for example, the video processing module  330  may determine the next video stream based on a sequential list of video information (e.g., a channel sequence or favorites list). Further for example, the video processing module  330  may determine the next video stream based on monitored user behavior (e.g., channel(s) most often viewed, whether the user is channel surfing up or down, whether the user is hopping between sports channels or movie channels, etc.). 
     In an exemplary scenario, the video processing module  330  may determine a plurality of potential next video information streams for subsequent receiving and pre-processing. In general, the video processing module  330  may determine the next video information and/or associated video stream(s) that a user may request next. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of a particular technique or apparatus for making such a determination or prediction. 
     The video processing module  330  may, for example and without limitation, buffer second video stream data for decryption and/or decoding. Such buffering of video information corresponding to video information not presently being presented to a user may reduce latency caused by the time it takes to fill a buffer with new video information. 
     Such buffering may also, for example, comprise managing buffered data from the second video stream such that a next applicable access point and subsequent compressed data are generally available for decoding upon user request for the second video information. Managing the buffered data in such a way may reduce latency caused by waiting for an access point to arrive before beginning decoding activities. Such an access point in the second video stream may, for example and without limitation, comprise a reference frame (or intra-coded frame) in various video encoding schemes. 
     Such management of buffered data may comprise managing the buffered data in any of a variety of manners. For example, in a non-limiting exemplary scenario, data preceding a particular entry point may be discarded while data succeeding the particular entry point is buffered (or vice versa). In another non-limiting exemplary scenario, data corresponding to a particular set of entry points (e.g., next and last entry points) may be buffered while data corresponding to other entry points is discarded. In a further non-limiting exemplary scenario, old data may be discarded from a first end of a buffer as new data arrives at a second end of the buffer. Accordingly, the scope of various aspects of the present invention should not be limited by any particular manner of managing buffered data. 
     The video processing module  330  may, for example, communicate conditional access information related to the second video stream data. For example, the video processing module  330  may determine the rights of the user to receive the second video information prior to the user requesting the second video information. Such determination of user rights corresponding to the second video information may reduce latency in presenting the second video information to the user if and when the user requests the second video information. For example and without limitation, such determination of user rights may enable the buffering of data, as described above. 
     Also, for example, the video processing module  330  may prepare for, or even perform, decryption of encrypted video information. For example, the video processing module  330  may exchange public or private key information with an information provider. The video processing module  330  may, for example, decrypt encrypted second video information prior to the user requesting the second video information. Such establishment and/or performance of decryption activities corresponding to the second video information may reduce latency in presenting the second video information to the user if and when the user requests the second video information. For example and without limitation, such performance of decryption activities may enable the buffering of data, as described above. 
     Further for example, the video processing module  330  may perform error correction processing of received video data from the second video stream. By performing such error correction activities prior to the user requesting the second video information, latency resulting from performing error correction on an initial portion of data from the second video stream may be reduced or eliminated. For example and without limitation, such performance of error correction activities may enable the buffering of data, as described above. 
     The video processing module  330  may, for example, track timing (e.g., timestamp or synchronization) for components of the second video information. For example and without limitation, the video processing module  330  may track video display synchronization for the second video information relative to the video display synchronization of the first video information being currently presented. Such timing tracking may, for example, be utilized to control buffering activities for the second video information to provide a smooth transition between presentation of the first video information and presentation of the second video information if and when the user requests the second video information. 
     The video processing module  330  may comprise managing timing information in any of a variety of manners. For example and without limitation the video processing module  330  may maintain a time base of the second video information using time stamps associated with the second video information. The video processing module  330  may also, for example, maintain one or more time delay values representing the presentation delay of received video information stored in a buffer. Accordingly, the scope of various aspects of the present invention should not be limited by any particular manner of managing timing information. 
     The video processing module  330  may, for example, parse various protocol layers associated with the second video stream. By performing such parsing activities prior to the user requesting the second video information, latency resulting from performing such parsing after the user requests the second video information may be reduced or eliminated. Note that in various non-limiting exemplary scenarios, such parsing operations may facilitate buffering of the received video data. 
     The video processing module  330  may, for example, decode video data in the second video stream prior to the user requesting the second video information. Such video data decoding of video data from the second video stream prior to the user requesting the second video information may reduce or eliminate latency associated with decoding an initial portion of the data from the second video stream after the user requests the second video information. 
     In an exemplary television video scenario, the video processing module  330  may pre-process the received second video stream by buffering at least a portion of video data associated with the second video stream and maintaining the buffer such that an access point and subsequent compressed data are generally available for decoding if and when the user requests the second video information. 
     In general, the video processing module  330  may pre-process the received second video stream in preparation for presenting the second video information to the user in the future. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of particular video signal pre-processing apparatus or activities performed in preparation for presenting the second video information to a user if and when the user requests the second video information. 
     The video processing module  330  may, for example, output a signal corresponding to the processed first video information to subsequent modules. For example and without limitation, the video processing module  330  may provide such a signal to a video driver module and/or a video display device. The scope of various aspects of the present invention should not be limited by particular subsequent modules or apparatus. 
       FIG. 4  is a diagram showing an exemplary system  400  that provides reduced latency in a video signal processing system, in accordance with various aspects of the present invention. The exemplary system  400  may, for example and without limitation, share various characteristics with the exemplary system  300  illustrated in  FIG. 3  and discussed previously. 
     For example, the exemplary system  400  may comprise a user interface module  410  that receives a current request from a user for current (or first) video information. The user interface module  410  may, for example and without limitation, share various characteristics with the user interface module  310  of the exemplary system  300  illustrated in  FIG. 3  and discussed previously. The exemplary system  400  may, for example, comprise a television system utilizing QAM channels for communicating streams of video information. However, the scope of various aspects of the present invention should by no means be limited by characteristics of such an exemplary television system. 
     For example, the user interface module  410  may receive a current request for current (or first) video information. Such a request may comprise any of a large variety of characteristics. For example and without limitation, such a request may comprise a selection of a video program from a menu, a request to view a program on a particular television channel, a request to view a program on a next, previous or last channel, or a request to view a channel on a sequential list of channels (e.g., a list of favorite or genre channels). 
     Further for example, a user may communicate such a request with the user interface module  410  in any of a large variety of ways. For example and without limitation, the user interface module  410  may communicate with a user using a television or video receiver remote control. The user interface module  410  may, for example, communicate with a user using buttons on a television or a video receiver. Also, for example, the user interface module  410  may communicate with a user using a graphical user interface (e.g., a program menu). 
     In general, the user interface module  410  may receive a current request for current (or first) video information. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of a particular way or apparatus for receiving such a request. 
     The exemplary system  400  may comprise a video receiver module  420  that simultaneously receives a first video stream and a second video stream, wherein the first video stream comprises the requested current (or first) video information, and the second video stream comprises second video information that is not currently requested by the user. The video receiver module  420  may, for example and without limitation, share various characteristics with the video receiver module  320  of the exemplary system  300  illustrated in  FIG. 3  and discussed previously. 
     The video receiver module  420  may, for example and without limitation, receive the first video stream and second video stream by performing any of a variety of video receiving activities. For example and without limitation, the video receiver module  420  may receive the first video stream and second video stream by receiving one or more signals comprising the first video stream and the second video stream through one or more tuners and associated receivers. 
     In an exemplary television scenario, the video receiver module  420  may comprise a first tuner  422  and associated first receiver  424  (e.g., a QAM receiver). The video receiver module  420  may receive a plurality of video streams of a multi-stream channel (e.g., a QAM channel) through the first tuner  422  and first receiver  424 . The exemplary first tuner  422  and first receiver  424  may, for example, transform the received multi-stream signal to digital video data corresponding to a plurality of video streams carried in the multi-stream signal. The video data stream(s) corresponding to the currently requested first video information and the second video information may then be selected from the variety of video streams, and the remaining data may be discarded. 
     In an alternative exemplary non-limiting television scenario, the video receiver module  420  may also comprise a second tuner  426  and associated second receiver  428  (e.g., a second QAM receiver). The video receiver module  420  may receive respective pluralities of video streams by the plurality of tuners  422 ,  426  and associated receivers  424 ,  428 . For example, the first tuner  422  and first receiver  424  may transform a first multi-stream channel to digital data corresponding to a first plurality of video streams, and the second tuner  426  and second receiver  428  may transform a second multi-stream channel to digital data corresponding to a second plurality of video streams. A first video data stream corresponding to the currently requested first video information may be selected from the first plurality of video streams, and a second video data stream corresponding to the second video information may be selected from the second plurality of video streams. 
     Note that the previous television examples are merely exemplary and should by no means limit the scope of various aspects of the present invention. In general, the exemplary video receiver module  420  may simultaneously receive a first video stream and a second video stream, wherein the first video stream comprises the requested current (or first) video information, and the second video stream comprises second video information that is not currently requested by the user. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of a particular received signal or a particular receiver module apparatus or configuration. 
     The exemplary system  400  may comprise a video processing module  430  that processes the first video stream to present the first video information to the user at the current time, and pre-processes the second video stream in preparation for presenting the second video information to the user in the future. The video processing module  430  may, for example and without limitation, share various characteristics with the video processing module  330  of the exemplary system  300  illustrated in  FIG. 3  and discussed previously. 
     The video processing module  430  may, for example, comprise a video stream selection module  432  that determines the second video stream to be pre-processed. For example, the video stream selection module  432  may determine (or identify) the next (or second) video information and corresponding video stream(s) that a user may request after the current video information. Such a determination may, for example, comprise characteristics of any of a large number of prediction methods or algorithms. For example and without limitation, the video stream selection module  432  may determine the next video stream based on previously presented video information (e.g., previous channel). Also for example, the video stream selection module  432  may determine the next video stream based on a sequential list of video information (e.g., a channel sequence or favorites list). Further for example, the video stream selection module  432  may determine the next video stream based on monitored user behavior (e.g., channel(s) most often viewed, whether the user is channel surfing up or down, whether the user is hopping between sports channels or movie channels, etc.). 
     In an exemplary scenario, the video stream selection module  432  may determine a plurality of potential next video information streams for subsequent receiving and pre-processing. In general, the video stream selection module  432  may determine the next video information and/or associated video stream(s) that a user may request. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of a particular technique or apparatus for making such a determination or prediction. 
     The video processing module  430  may, for example, process the received first video stream to present the first video information to the user at the current time. In performing such processing, the video processing module  430  may, for example, buffer first video stream data for decryption and/or decoding. The video processing module  430  may, for example, comprise a first buffer  436  to utilize for such buffering. 
     The video processing module  430  may, for example, perform error correction processing. The video processing module  430  may, for example, communicate conditional access information with a source of the first video stream. Also, the video processing module  430  may track timing (e.g., timestamps or synchronization) for components of the first video stream. Further, the video processing module  430  may parse various communication protocol layers associated with the first video stream. 
     The video processing module  430  may, for example, decode video data in the first video stream. The video processing module  430  may, for example, comprise a first decoder  437  to perform such decoding. 
     The exemplary system  400  may, for example, comprise a video display driver  440  and a video display  450 . The video processing module  430  may, for example, provide a signal indicative of the first video information to the video display driver  440 . The video display driver  440  may, for example, generate a video display driver signal that, when applied to the video display  450 , causes the video display  450  to generate a corresponding human-perceivable video image. 
     In an exemplary television video scenario, the video processing module  430  may process the received first video stream by buffering video data associated with the first video stream in the first buffer  436 , decoding the buffered video data with the first decoder  437 , and providing a signal indicative of the first video information to the video display driver  440 , which converts the signal from the video processing module  430  into a video display driver signal and provides the video display driver signal to the video display  450 . 
     The video processing module  430  may pre-process the received second video stream in preparation for presenting the second video information to the user in the future. The video processing module  430  may, for example, reduce latency in presenting the second video information to the user if and when the user requests the second video information by performing pre-processing in preparation for presenting the second video information to the user. The video processing module  430  may, for example, perform such pre-processing by performing various portions of the total processing required to present the second video information to the user. 
     For example and without limitation, the video processing module  430  may buffer second video stream data for decryption and/or decoding. For example, the video processing module  430  may buffer second video stream data in a second buffer  438  or in a portion of the first buffer  436 . Such buffering of video information corresponding to video information not presently being presented to a user may reduce latency caused by the time it takes to fill a buffer with newly received video information. 
     Such buffering may also, for example, comprise managing buffered data from the second video stream such that a next applicable access point and subsequent compressed data are generally available for decoding upon user request for the second video information. Managing the buffered data in such a way may reduce latency caused by waiting for an access point to arrive before beginning decoding activities. As explained previously, such an access point in the second video stream may, for example and without limitation, comprise a reference frame (or intra-coded frame) in various video encoding schemes. 
     The video processing module  430  may, for example, communicate (e.g., transmit and/or receive) conditional access information related to the second video stream with a source of the second video stream. For example, the video processing module  430  may determine the rights of the user to receive the second video information prior to the user requesting the second video information. Such determination of user rights corresponding to the second video information may reduce latency in presenting the second video information to the user if and when the user requests the second video information. 
     Also, for example, the video processing module  430  may prepare for, or even perform, decryption of encrypted video information. For example, the video processing module  430  may exchange public or private key information with an information provider. The video processing module  430  may, for example, decrypt encrypted second video information prior to the user requesting the second video information. Such establishment and/or performance of decryption activities corresponding to the second video information may reduce latency in presenting the second video information to the user if and when the user requests the second video information. 
     Further for example, the video processing module  430  may perform error correction processing of received video data from the second video stream. By performing such error correction activities prior to the user requesting the second video information, latency resulting from performing error correction on an initial portion of data from the second video stream may be reduced or eliminated. 
     The video processing module  430  may, for example, track timing (e.g., timestamps or synchronization) for components of the second video stream. For example and without limitation, the video processing module  430  may track video display synchronization for the second video information relative to the video display synchronization of the first video information being currently presented. Such timing tracking may, for example, be utilized to control buffering activities for the second video information to provide a smooth transition between presentation of the first video information and presentation of the second video information if and when the user requests the second video information. 
     The video processing module  430  may, for example, parse various communication protocol layers associated with the second video stream. By performing such parsing activities prior to the user requesting the second video information, latency resulting from performing such parsing after the user requests the second video information may be reduced or eliminated. 
     The video processing module  430  may, for example, decode video data in the second video stream prior to the user requesting the second video information. The video processing module  430  may, for example, comprise a second decoder  439  to perform such decoding or may, for example, utilize the first decoder  437  to perform such decoding in addition to decoding video data from the first video stream. Such decoding of video data from the second video stream prior to the user requesting the second video information may reduce or eliminate latency associated with decoding an initial portion of the data from the second video stream after the user requests the second video information. 
     In an exemplary television video scenario, the video processing module  430  may pre-process the received second video stream by buffering at least a portion of video data associated with the second video stream (e.g., in the second buffer  438  or a section of the first buffer  436 ) and maintaining the buffer such that an access point and subsequent compressed data is generally available for decoding if and when the user requests the second video information. 
     In general, the video processing module  430  may pre-process the received second video stream in preparation for presenting the second video information to the user in the future. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of particular video signal pre-processing apparatus or pre-processing activities performed in preparation for presenting the second video information to a user if and when the user requests the second video information. 
     The previous discussion described various exemplary system modules and sub-modules. The various modules and sub-modules may be implemented using hardware, software, or a combination thereof. For example and without limitation, any of the various modules and sub-modules may be independent circuits or may be integrated into a single integrated circuit. Accordingly, the scope of various aspects of the present invention should not be limited to characteristics of a particular hardware or software implementation. 
     In summary, various aspects of the present invention provide a system and method that provide reduced latency in a video signal processing system. While the invention has been described with reference to certain aspects and embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims.