Patent Document

CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]     The present application claims priority from the following applications, the disclosures of which are hereby incorporated herein by reference: UK Patent Application No. 0413723.8 of NDS Limited, filed 18 Jun. 2004; and U.S. Provisional Patent Application 60/581,583, of Shlissel, et al., filed 21 Jun. 2004. 
     
    
     FIELD OF THE INVENTION  
       [0002]     The present invention relates to systems that utilize compressed information.  
       BACKGROUND OF THE INVENTION  
       [0003]     Digital Video Recorders (DVRs), also known as Personal Video Recorders (PVRs), record streamed compressed digital television broadcasts onto a storage medium, and allow a later playback of such broadcasts. Recordings are decompressed during playback using a decoder which is typically implemented in hardware and is comprised in a Set-Top Box (STB) that comprises a DVR or is associated with a DVR. One example of such a DVR is an XTV™ system, commercially available from NDS Limited, One London Road, Staines, Middlesex, TW18 4EX, United Kingdom.  
         [0004]     Common video compression methods include MPEG-1, MPEG-2 and MPEG-4 (MPEG—Moving Picture Experts Group). Such compression methods typically compress video by broadcasting differences between frames of video. A decoder cannot typically immediately start decoding a recording at any arbitrary location; rather the decoding can be started only from specific random access points in a broadcast video stream or, in a case where a DVR is used, from random access points in a video file stored in the DVR. If playing from a specific video frame in a video recording is desired, decoding is performed from a preceding random access point. The decoding can generally run faster than normal speed.  
         [0005]     Present generation DVRs typically have only one decoder. Thus, when an STB which includes a DVR or is associated a DVR plays one compressed video segment immediately after another, switching from playing a compressed live video broadcast to playing a compressed recorded video segment, or switching from playing a compressed recorded video segment to playing a compressed live broadcast is not “seamless”; that is, there is a delay between playing the compressed live broadcast and playing the compressed recorded video segment, or between playing the compressed recorded video segment and playing the compressed live broadcast. Such a delay also occurs when switching from playing a first compressed recorded video segment to playing a second compressed recorded video segment.  
       SUMMARY OF THE INVENTION  
       [0006]     The present invention, in preferred embodiments thereof, seeks to provide a method for seamlessly switching between playing a compressed recorded video segment and playing compressed live video, between playing compressed live video and playing a compressed recorded video segment, and between playing a first compressed recorded video segment and playing a second compressed recorded video segment.  
         [0007]     In the present invention, in preferred embodiments thereof, a DVR uses a copy of a sub-segment of a video segment to be switched to or from in a format that does not require extensive decompression. One desirable technical effect which results from switching from viewing a video segment to viewing a copy of a sub-segment of the video segment is provision of a frame synchronous presentation so that a viewer does not see any transitional effect. Such a copy may include uncompressed video, or video compressed using a simple algorithm, such as, for example, Huffman coding, for which decompression can be performed simply and quickly without requiring a decoder. Such a copy is referred to throughout the present specification and claims as an “Uncompressed Copy”. The Uncompressed Copy may, for example, include an Uncompressed Copy of a start of a video segment or an Uncompressed Copy of an end of a video segment.  
         [0008]     Systems other than video systems which utilize compressed information, compressed into “packets” or “frames”, can also use the current invention to enable seamlessly switching between playing one compressed information stream to playing another compressed information stream.  
         [0009]     The term “frame” in all its grammatical forms is used throughout the present specification and claims interchangeably with the term “packet” and its corresponding grammatical forms.  
         [0010]     There is thus provided in accordance with a preferred embodiment of the present invention a method for switching from playing a first compressed data segment to playing a second compressed recorded data segment, the method including playing an uncompressed copy of a start of the second compressed recorded data segment upon switching from playing the first compressed data segment, decoding the second compressed recorded data segment from a preceding random access point, the preceding random access point preceding, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, stopping the decoding of the second compressed recorded data segment when reaching a point beyond a point currently being played in the uncompressed copy, and switching to playing the second compressed recorded data segment when playing the uncompressed copy of a start of the second compressed recorded data segment reaches the point at which the decoding of the second compressed recorded data segment was stopped.  
         [0011]     There is also provided in accordance with another preferred embodiment of the present invention a method for switching from playing a first compressed data segment to playing a second compressed recorded data segment, the method including playing an uncompressed copy of a start of the second compressed recorded data segment upon switching from playing the first compressed data segment, decoding the second compressed recorded data segment from a preceding random access point, the preceding random access point preceding, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, and switching to playing the second compressed recorded data segment when the decoding the second compressed recorded data segment reaches a point currently being played in the uncompressed copy of a start of the second compressed recorded data segment.  
         [0012]     Further in accordance with a preferred embodiment of the present invention the first compressed data segment includes a first compressed recorded data segment.  
         [0013]     Still further in accordance with a preferred embodiment of the present invention the first compressed data segment includes a compressed broadcast data segment.  
         [0014]     Additionally in accordance with a preferred embodiment of the present invention the second compressed data segment includes a compressed broadcast data segment.  
         [0015]     Moreover in accordance with a preferred embodiment of the present invention the first compressed data segment includes a compressed live broadcast data segment.  
         [0016]     Further in accordance with a preferred embodiment of the present invention the preceding random access point precedes the start of the uncompressed copy.  
         [0017]     Still further in accordance with a preferred embodiment of the present invention the preceding random access point corresponds with the start of the uncompressed copy.  
         [0018]     Additionally in accordance with a preferred embodiment of the present invention the preceding random access point follows the start of the uncompressed copy.  
         [0019]     Moreover in accordance with a preferred embodiment of the present invention the decoding includes decoding the compressed recorded data segment from the preceding random access point at a faster than normal speed.  
         [0020]     There is also provided in accordance with another preferred embodiment of the present invention a method for switching from playing a compressed recorded data segment to playing a compressed live data broadcast, the method including playing a portion of the compressed recorded data segment, recording the compressed live data broadcast before reaching the end of playing the compressed recorded data segment, thereby ensuring that a random access point is encountered in the compressed live data broadcast before reaching the end of playing the compressed recorded data segment, switching to playing an uncompressed copy of an end of the compressed recorded data segment before reaching the end of the compressed recorded data segment, decoding the recording of the compressed live data broadcast from the random access point until a point catching up with the compressed live data broadcast, and switching to playing the compressed live data broadcast when playing of the uncompressed copy of the end of the compressed recorded data segment ends.  
         [0021]     There is also provided in accordance with still another preferred embodiment of the present invention a method for switching from playing a compressed recorded data segment to playing a compressed live data broadcast, the method including playing a portion of the compressed recorded data segment, recording the compressed live data broadcast before reaching the end of playing the compressed recorded data segment, thereby ensuring that a random access point is encountered in the compressed live data broadcast before the end of playing the compressed recorded data segment, switching to playing an uncompressed copy of an end of the compressed recorded data segment before reaching the end of the compressed recorded data segment, decoding the recording of the compressed live data broadcast from the random access point until a point catching up with the compressed live data broadcast, and switching to playing the compressed live data broadcast.  
         [0022]     Further in accordance with a preferred embodiment of the present invention the decoding includes decoding the recording of the compressed live data broadcast from the random access point at a faster than normal speed.  
         [0023]     There is also provided in accordance with another preferred embodiment of the present invention a method for switching from playing a first compressed recorded data segment to playing a second compressed “live” data segment, the method including playing a portion of the first compressed recorded data segment, switching to playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, decoding the second compressed “live” data segment from a first random access point in the second compressed “live” data segment, and switching to playing the second compressed “live” data segment when the decoding of the second compressed “live” data segment reaches a point at which playing is to be switched to the second compressed “live” data segment.  
         [0024]     There is also provided in accordance with still another preferred embodiment of the present invention a method for switching from playing a first compressed recorded data segment to playing a second compressed “live” data segment, the method including playing a portion of the first compressed recorded data segment, playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, decoding the second compressed “live” data segment from a first random access point in the second compressed “live” data segment, and switching to playing the second compressed “live” data segment when playing of the uncompressed copy of the end of the first compressed recorded data segment ends.  
         [0025]     Further in accordance with a preferred embodiment of the present invention the decoding includes decoding the second compressed “live” data segment from the first random access point at a faster than normal speed.  
         [0026]     There is also provided in accordance with another preferred embodiment of the present invention a method for switching from playing a first compressed recorded data segment to playing a second compressed recorded data segment, the method including playing a portion of the first compressed recorded data segment, switching to playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, decoding the second compressed recorded data segment from a random access point, the random access point preceding or corresponding to, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, and switching to playing the second compressed recorded data segment when the decoding of the second compressed recorded data segment reaches the point at which playing is to be switched to the second compressed recorded data segment.  
         [0027]     There is also provided in accordance with still another preferred embodiment of the present invention a method for switching from playing a first compressed recorded data segment to playing a second compressed recorded data segment, the method including playing a portion of the first compressed recorded data segment, switching to playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, decoding the second compressed recorded data segment from a random access point, the random access point preceding or corresponding to, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, stopping decoding at the point at which playing is to be switched to the second compressed recorded data segment, and switching to playing the second compressed recorded data segment when playing of the uncompressed copy of the end of the first compressed recorded data segment ends.  
         [0028]     There is also provided in accordance with another preferred embodiment of the present invention a method for switching from playing a first compressed recorded data segment to playing a second compressed recorded data segment, the method including playing a portion of the first compressed recorded data segment, switching to playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, decoding the second compressed recorded data segment from a random access point, the random access point preceding or corresponding to, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, stopping decoding at the point at which playing is to be switched to the second compressed recorded data segment, and switching to playing the second compressed recorded data segment some time before playing of the uncompressed copy of the end of the first compressed recorded data segment ends.  
         [0029]     Further in accordance with a preferred embodiment of the present invention the decoding includes decoding the second compressed recorded data segment from a preceding random access point at a faster than normal speed.  
         [0030]     There is also provided in accordance with another preferred embodiment of the present invention a method for switching from playing a first compressed data segment to playing a second compressed data segment, the method including decoding the first compressed data segment into a first portion of a buffer, playing the first data segment from the first portion of the buffer, while continuing to play the first data segment from the first portion of the buffer, ceasing to decode the first compressed data segment into the first portion of the buffer; decoding the second compressed data segment into a second portion of the buffer; and when a switching point is reached, ceasing to play the first data segment from the first portion of the buffer; and playing the second data segment from the second portion of the buffer.  
         [0031]     Further in accordance with a preferred embodiment of the present invention the first compressed data segment includes a first compressed recorded data segment.  
         [0032]     Still further in accordance with a preferred embodiment of the present invention the decoding the second compressed data segment into a second portion of the buffer includes decoding the second compressed data segment at a faster than normal speed.  
         [0033]     There is also provided in accordance with another preferred embodiment of the present invention a method for switching from playing a first compressed data segment to playing a second compressed data segment, the method including decoding the first compressed data segment into a buffer, playing the first data segment from the buffer, while continuing to play the first data segment from the buffer, ceasing to decode the first compressed data segment into the buffer, decoding the second compressed data segment, and when a switching point is reached, ceasing to play the first data segment from the buffer, and playing the second video segment.  
         [0034]     Further in accordance with a preferred embodiment of the present invention the second compressed data segment includes a second compressed live broadcast data segment.  
         [0035]     Still further in accordance with a preferred embodiment of the present invention the switching point is reached as soon as the decoding the second compressed data segment has decoded enough of the second compressed data segment to be played.  
         [0036]     Additionally in accordance with a preferred embodiment of the present invention the switching point is reached when the playing the first data segment from the first portion of the buffer has reached the end of the first data segment.  
         [0037]     Moreover in accordance with a preferred embodiment of the present invention the broadcast includes a digital terrestrial broadcast.  
         [0038]     Further in accordance with a preferred embodiment of the present invention the broadcast includes a satellite broadcast.  
         [0039]     Still further in accordance with a preferred embodiment of the present invention the broadcast includes a cable broadcast.  
         [0040]     Additionally in accordance with a preferred embodiment of the present invention the broadcast includes an Internet broadcast.  
         [0041]     Moreover in accordance with a preferred embodiment of the present invention the broadcast includes a 3GPP broadcast.  
         [0042]     Further in accordance with a preferred embodiment of the present invention the broadcast includes a 3GPP2 broadcast.  
         [0043]     Still further in accordance with a preferred embodiment of the present invention the broadcast includes a DVB-H broadcast.  
         [0044]     Additionally in accordance with a preferred embodiment of the present invention the broadcast includes a DMB broadcast.  
         [0045]     Moreover in accordance with a preferred embodiment of the present invention the broadcast includes a DAB broadcast.  
         [0046]     Further in accordance with a preferred embodiment of the present invention the data includes digital video.  
         [0047]     Still further in accordance with a preferred embodiment of the present invention the data includes digital audio.  
         [0048]     Additionally in accordance with a preferred embodiment of the present invention the data includes MPEG-2 encoded data.  
         [0049]     Moreover in accordance with a preferred embodiment of the present invention the data includes MPEG-4 encoded data.  
         [0050]     There is also provided in accordance with another preferred embodiment of the present invention apparatus for switching from playing a first compressed data segment to playing a second compressed recorded data segment which includes a source controller which plays an uncompressed copy of a start of the second compressed recorded data segment upon switching from playing the first compressed data segment, and a decoder which, under control of the source controller, decodes the second compressed recorded data segment from a preceding random access point, the preceding random access point preceding, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, and stops the decoding of the second compressed recorded data segment upon receiving a signal from the source controller indicating that a point has been reached beyond a point currently being played in the uncompressed copy, wherein the source controller switches to playing the second compressed recorded data segment when playing of the uncompressed copy reaches a point at which the decoding of the second compressed recorded data segment was stopped.  
         [0051]     There is also provided in accordance with still another preferred embodiment of the present invention apparatus for switching from playing a first compressed data segment to playing a second compressed recorded data segment which includes a source controller which plays an uncompressed copy of a start of the second compressed recorded data segment upon switching from playing the first compressed data segment, and a decoder which, under control of the source controller, decodes the second compressed recorded data segment from a preceding random access point, the preceding random access point preceding, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, wherein the source controller switches to playing the second compressed recorded data segment when the decoder which decodes the second compressed recorded data segment reaches a point currently being played in the uncompressed copy of a start of the second compressed recorded data segment.  
         [0052]     There is also provided in accordance with another preferred embodiment of the present invention apparatus for switching from playing a compressed recorded data segment to playing a compressed live data broadcast which includes a source controller which plays a portion of the compressed recorded data segment, a recorder which, under control of the source controller, records the compressed live data broadcast before the source controller reaches the end of playing the compressed recorded data segment, thereby ensuring that a random access point is encountered in the compressed live data broadcast before the source controller reaches the end of playing the compressed recorded data segment, and a decoder which is operative to decode compressed data, wherein the source controller switches to playing an uncompressed copy of an end of the compressed recorded data segment before the source controller has reached the end of the compressed recorded data segment, the decoder, under control of the source controller, decodes the recording of the compressed live data broadcast from the random access point until a point catching up with the compressed live data broadcast, and the source controller switches to playing the compressed live data broadcast when playing of the uncompressed copy of the end of the compressed recorded data segment ends.  
         [0053]     There is also provided in accordance with still another preferred embodiment of the present invention apparatus for switching from playing a compressed recorded data segment to playing a compressed live data broadcast which includes a source controller which plays a portion of the compressed recorded data segment, a recorder which, under control of the source controller, records the compressed live data broadcast before the source controller reaches the end of playing the compressed recorded data segment, thereby ensuring that a random access point is encountered in the compressed live data broadcast before the source controller reaches the end of playing the compressed recorded data segment, and a decoder which is operative to decode compressed data, wherein the source controller switches to playing an uncompressed copy of an end of the compressed recorded data segment before reaching the end of the compressed recorded data segment, the decoder, under control of the source controller, decodes the recording of the compressed live data broadcast from the random access point until a point catching up with the compressed live data broadcast, and the source controller switches to playing the compressed live data broadcast.  
         [0054]     There is also provided in accordance with another preferred embodiment of the present invention apparatus for switching from playing a first compressed recorded data segment to playing a second compressed “live” data segment which includes a source controller which plays a portion of the first compressed recorded data segment, and switches to playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, and a decoder which, under control of the source controller, decodes the second compressed “live” data segment from a first random access point in the second compressed “live” data segment, wherein the source controller switches to playing the second compressed “live” data segment when the decoder which decodes the second compressed “live” data segment reaches a point at which playing is to be switched to the second compressed “live” data segment.  
         [0055]     There is also provided in accordance with still another preferred embodiment of the present invention apparatus for switching from playing a first compressed recorded data segment to playing a second compressed “live” data segment which includes a source controller which plays a portion of the first compressed recorded data segment, and switches to playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, and a decoder which, under control of the source controller, decodes the second compressed “live” data segment from a first random access point in the second compressed “live” data segment, wherein the source controller switches to playing the second compressed “live” data segment when playing of the uncompressed copy of the end of the first compressed recorded data segment ends.  
         [0056]     There is also provided in accordance with another preferred embodiment of the present invention apparatus for switching from playing a first compressed recorded data segment to playing a second compressed recorded data segment which includes a source controller which plays a portion of the first compressed recorded data segment, and switches to playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, and a decoder which, under control of the source controller, decodes the second compressed recorded data segment from a random access point, the random access point preceding or corresponding to, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, wherein the source controller switches to playing the second compressed recorded data segment when the decoder which decodes the second compressed recorded data segment reaches the point at which playing is to be switched to the second compressed recorded data segment.  
         [0057]     There is also provided in accordance with still another preferred embodiment of the present invention apparatus for switching from playing a first compressed recorded data segment to playing a second compressed recorded data segment which includes a source controller which plays a portion of the first compressed recorded data segment, and switches to playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, and a decoder which, under control of the source controller decodes the second compressed recorded data segment from a random access point, the random access point preceding or corresponding to, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, and stops decoding upon receiving a signal from the source controller indicating that a point has been reached at which playing is to be switched to the second compressed recorded data segment, wherein the source controller switches to playing the second compressed recorded data segment when playing of the uncompressed copy of the end of the first compressed recorded data segment ends.  
         [0058]     There is also provided in accordance with another preferred embodiment of the present invention apparatus for switching from playing a first compressed recorded data segment to playing a second compressed recorded data segment which includes a source controller which plays a portion of the first compressed recorded data segment, and switches to playing an uncompressed copy of an end of the first compressed recorded data segment before reaching the end of the first compressed recorded data segment, and a decoder which, under control of the source controller decodes the second compressed recorded data segment from a random access point, the random access point preceding or corresponding to, in the second compressed recorded data segment, a point at which playing is to be switched to the second compressed recorded data segment, and stops decoding upon receiving a signal from the source controller indicating that a point has been reached at which playing is to be switched to the second compressed recorded data segment, wherein the source controller switches to playing the second compressed recorded data segment some time before playing of the uncompressed copy of the end of the first compressed recorded data segment ends.  
         [0059]     There is also provided in accordance with still another preferred embodiment of the present invention apparatus for switching from playing a first compressed data segment to playing a second compressed data segment which includes a decoder which, under control of the source controller, decodes the first compressed data segment into a first portion of a buffer, and a source controller which plays the first data segment from the first portion of the buffer, wherein, while the source controller continues to play the first data segment from the first portion of the buffer, the decoder, under control of the source controller, ceases to decode the first compressed data segment into the first portion of the buffer, and decodes the second compressed data segment into a second portion of the buffer, and wherein, when a switching point is reached, the source controller ceases to play the first data segment from the first portion of the buffer, and plays the second data segment from the second portion of the buffer.  
         [0060]     There is also provided in accordance with another preferred embodiment of the present invention apparatus for switching from playing a first compressed data segment to playing a second compressed data segment which includes a decoder which, under control of the source controller, decodes the first compressed data segment into a buffer, and a source controller which plays the first data segment from the buffer, wherein, while the source controller continues to play the first data segment from the buffer, the decoder, under control of the source controller, ceases to decode the first compressed data segment into the buffer, and decodes the second compressed data segment, and when a switching point is reached, the source controller ceases to play the first data segment from the buffer, and plays the second data segment.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0061]     The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:  
         [0062]      FIG. 1  is a simplified pictorial illustration of a system for switching between different types of video content, the system being constructed and operative in accordance with a preferred embodiment of the present invention;  
         [0063]      FIGS. 2A-2D  are simplified pictorial illustrations of a preferred mode of operation of the system of  FIG. 1 ;  
         [0064]      FIG. 3  is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second compressed video segment, useful in understanding the preferred mode of operation of the system of  FIG. 1  shown in  FIGS. 2A-2D ;  
         [0065]      FIGS. 4A-4E  are simplified pictorial illustrations of an alternative preferred mode of operation of the system of  FIG. 1 ;  
         [0066]      FIG. 5  is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second compressed video segment, useful in understanding the preferred mode of operation of the system of  FIG. 1  depicted in  FIGS. 4A-4E ;  
         [0067]      FIGS. 6A-6D  are simplified pictorial illustrations of another alternative preferred mode of operation of the system of  FIG. 1 ;  
         [0068]      FIG. 7  is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second compressed video segment, useful in understanding the preferred mode of operation of the system of  FIG. 1  depicted in  FIGS. 6A-6D ;  
         [0069]      FIGS. 8A-8D  are simplified pictorial illustrations of still another alternative preferred mode of operation of the system of  FIG. 1 ;  
         [0070]      FIG. 9  is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second compressed video segment, useful in understanding the preferred mode of operation of the system of  FIG. 1  depicted in  FIGS. 8A-8D ;  
         [0071]      FIGS. 10A-10D  are simplified pictorial illustrations of another alternative preferred mode of operation of the system of  FIG. 1 ;  
         [0072]      FIG. 11  is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second compressed video segment, useful in understanding the preferred mode of operation of the system of  FIG. 1  depicted in  FIGS. 10A-10D ; and  
         [0073]      FIGS. 12-22  are simplified flowchart illustrations of various preferred methods of operation of the system of  FIG. 1 .  
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0074]     Reference is now made to  FIG. 1 , which is a simplified pictorial illustration of a system for switching between different types of video content, the system being constructed and operative in accordance with a preferred embodiment of the present invention.  
         [0075]     The system of  FIG. 1  preferably comprises a video display  100  and a Set Top Box (STB)  110 . It is appreciated that the STB  110  alone, without the video display  100 , may comprise an alternative preferred embodiment of the present invention.  
         [0076]     As mentioned above, systems other than video systems which utilize compressed information, compressed into “packets” or “frames”, can also use the current invention to enable seamlessly switching between playing one compressed information stream to playing another compressed information stream. The example of video is used throughout the present specification for purposes of simplicity of description, it being appreciated that the present invention is not limited to video.  
         [0077]     The video display  100 , which may be any appropriate conventional video display as is well known in the art, comprises a display screen  105 .  
         [0078]     The STB  110  preferably comprises the following components: a decoder  120 ; a tuner  130 ; a storage unit  140 ; and a Video Source Controller (VSC)  150 . The STB  110  also preferably comprises conventional components (not shown), which are well known in the art. The components comprised in the STB  110  are preferably implemented in any appropriate combination of hardware and software.  
         [0079]     The components comprised in the STB  110  are described throughout the present specification in terms of their functionality; persons skilled in the art will appreciate that some of the components comprised in the STB  110  which are described as separate components may be implemented together in any appropriate combination. Persons skilled in the art will also appreciate that certain components, such as the storage unit  140 , described throughout the present specification as comprised in the STB  110 , may be provided externally to the STB  110  and operatively associated therewith.  
         [0080]     The decoder  120  is preferably operative to decompress compressed video, producing decompressed video. The term “decompress” in all its grammatical forms is used throughout the present specification and claims interchangeably with the term “decode” and its corresponding grammatical forms. Typically, compressed video is compressed in accordance with a standard; by way of example and without limiting the generality of the foregoing, video may be compressed in accordance with the MPEG-2 standard. Persons skilled in the art will appreciate that the decoder  120  is preferably constructed and operative so as to be capable of decompressing one or more types of compressed video which are intended to be used in the system of  FIG. 1 .  
         [0081]     The tuner  130  is preferably operative to receive video broadcasts. Such broadcasts may be delivered by any appropriate method of delivery such as, for example, any one or appropriate combination of the following: digital terrestrial; satellite; cable; Internet; 3GPP (3rd Generation Partnership Project, the specifications of which are based on evolved GSM specifications now generally known as the UMTS system); 3GPP2 (3rd Generation Partnership Project 2, which is a specification setting project for a 3G technology based on CDMA networks, commonly known as CDMA2000); DVB-H (“Digital Video Broadcasting: Handhelds”, which is an extension to an older DVB standard); DMB (Digital Multimedia Broadcasting); DAB (Digital Audio Broadcasting, also being used to deliver video); and any other appropriate delivery method.  
         [0082]     The storage unit  140  is preferably operative to store and retrieve video, typically upon request by another component of the STB  110 , as is well known in the art.  
         [0083]     The VSC  150  is preferably operative to control the operation of the other elements depicted as comprised in the STB  110  (including the decoder  120 , the tuner  130 , and the storage unit  140 ), and in particular to determine inputs to and outputs from those elements and to synchronize the operation thereof, as described in more detail below.  
         [0084]     For purposes of simplicity of depiction, control and data connections between the elements of the STB  110  are not shown; persons skilled in the art will appreciate that various methods may be used for making such connections.  
         [0085]     The operation of a preferred embodiment of the system depicted in  FIG. 1  is now described. Reference is now additionally made to  FIGS. 2A-2D , which are simplified pictorial illustrations of a preferred mode of operation of the system of  FIG. 1 .  FIGS. 2A-2D  describe a sequence of states, over time, of the system of  FIG. 1 . The transition between states is controlled by the VSC  150 .  
         [0086]      FIGS. 2A-2D  relate to a case where, when switching from a first compressed video segment to a second compressed video segment, an uncompressed copy of a sub-segment of the second compressed video segment already exists within the system.  
         [0087]     In  FIG. 2A  the tuner  130  sends a compressed video segment  200  to the decoder  120 . Persons skilled in the art will appreciate that the compressed video segment  200  may originate in the storage unit  140  or may be received, through any appropriate conventional mechanism, from a source external to the system of  FIG. 1  such as, for example, a live broadcast.  
         [0088]     The decoder  120  decompresses the compressed video segment  200 , producing a decompressed video segment  210  for display on the video display  100 .  
         [0089]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 2A , the display screen  105  of the video display  100  displays the decompressed video segment  210 .  
         [0090]      FIG. 2B  depicts the system of  FIG. 2A , where the VSC  150  has caused: 
        the tuner  130  to stop sending the compressed video segment  200  to the decoder  120 ; and     the storage unit  140  to retrieve an uncompressed video segment  220  and send the uncompressed video segment  220  for display to the video display  100 .          
         [0093]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 2B , the display screen  105  of the video display  100  displays at least a portion of the uncompressed video segment  220  from the storage unit  140 .  
         [0094]      FIG. 2C  depicts the system of  FIG. 2B , where the VSC  150  has caused: 
        the storage unit  140  to additionally retrieve a compressed video segment  230 , and send the compressed video segment  230  to the decoder  120 ; and     the decoder  120  to decompress the compressed video segment  230 ; however, the decoder  120  does not send output to the video display  100 .          
         [0097]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 2C , the display screen  105  of the video display  100  continues to display at least a portion of the uncompressed video segment  220  from the storage unit  140 .  
         [0098]      FIG. 2D  depicts the system of  FIG. 2C , where the VSC  150  has caused the decoder  120  to send a decompressed video segment  240 , which corresponds to the compressed video segment  230 , to the video display  100 , and the storage unit  140  to stop sending the video segment  220  for display to the video display  100 .  
         [0099]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 2D , the display screen  105  of the video display  100  displays the decompressed video segment  240 .  
         [0100]     Reference is now made to  FIG. 3 , which is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second compressed video segment, useful in understanding the preferred mode of operation of the system of  FIG. 1  shown in  FIGS. 2A-2D .  
         [0101]      FIG. 3  depicts time from left to right, and the following from bottom to top:  
         [0102]     a timeline  300  including significant events;  
         [0103]     a first time bar  310  depicting a compressed video segment A, which, by way of example and without limiting the generality of the foregoing, is a compressed “live” video segment;  
         [0104]     a second time bar  320  depicting a compressed video segment B, which, by way of example and without limiting the generality of the foregoing, is a compressed recorded video segment;  
         [0105]     a third time bar  330  depicting the decoder  120  of  FIG. 1 ;  
         [0106]     a fourth time bar  340  depicting the display screen  105  of the video display  100  of  FIG. 1 ; and  
         [0107]     a fifth time bar  350  depicting an uncompressed video segment C, representing an uncompressed copy of a sub-segment of the video segment B.  
         [0108]     The mode of operation of  FIGS. 2A-2D  is now further described using the timeline  300  of  FIG. 3 , following the timeline  300  from left to right:  
         [0109]     At the start of the timeline  300 , the compressed “live” video segment  310  is provided as input  315  to the decoder  330 ; the decoder  330  decompresses the input  315  and produces a decompressed output  317 . The decompressed output  317  of the decoder  330  is provided to the display screen  340 . The display screen  340  displays decompressed segment A.  
         [0110]     At the time labeled  360  of the timeline  300 , the VSC  150  of  FIG. 1  causes the uncompressed copy  350  to be provided as an input  355  to the display screen  340 , and the compressed recorded video segment  320  to be provided as an input  325  to the decoder  330 . From this time on, the uncompressed copy  350  is provided as an input  355  to the display screen  340 , freeing the decoder  330  to decompress segment B  320 . The decoder  330  decompresses segment B  330 , at a rate higher than normal video viewing rate, but the result of the decompression is not sent to the display screen  340 .  
         [0111]     Persons skilled in the art will appreciate that a short period of time may elapse from the time the decoder  330  stops decompressing the compressed “live” video segment  310  to the time the decoder  330  starts decompressing the compressed recorded video segment  320 ; this elapsed time is not depicted in  FIG. 3 .  
         [0112]     The decoder  330  starts decompressing segment B  320  at a random access point within segment B that corresponds to one of the three cases listed below:  
         [0113]     1) The random access point where the decoder  330  starts decompressing segment B precedes the beginning of the uncompressed copy  350 .  
         [0114]     2) The random access point where the decoder  330  starts decompressing segment B corresponds exactly to the beginning of the uncompressed copy  350 .  
         [0115]     3) The random access point where the decoder  330  starts decompressing segment B is after the beginning of the uncompressed copy  350 .  
         [0116]      FIG. 3  depicts a case where the random access point where the decoder  330  starts decompressing segment B precedes the beginning of the uncompressed copy  350 . Persons skilled in the art will appreciate that in all of the three cases described above the decoder  330  decompresses the input  325  until the decoder  330  catches up to the content being shown on the display screen  340  at the time labeled  380  of timeline  300 .  
         [0117]     At the time labeled  370  of the timeline  300 , the decoder  330  reaches a point in the compressed recorded video segment  320  which corresponds to the start of the uncompressed copy  350 . The decoder  330  continues decompressing the input  325 , at a rate higher than normal video viewing rate. The decoder  330  catches up to the content being shown on the display screen  340  at the time labeled  380  of timeline  300 .  
         [0118]     At the time labeled  380 , the VSC  150  of  FIG. 1  causes the decoder  330  to revert to decompressing the input  325  at a normal video viewing rate, causes an output  335  of the decoder  330  to be sent to the display screen  340 , and causes the input  355  to stop being used.  
         [0119]     It is appreciated that once the decoder  330  catches up to the content being shown on the display screen  340 , the VSC  150  of  FIG. 1  may:  
         [0120]     1) cause the display of the uncompressed copy of a sub-segment of the video segment B  350  to switch from displaying the uncompressed copy of a sub-segment of the video segment B  350  to displaying the decompressed output  335  of the compressed video segment B  320 ; or  
         [0121]     2) cause the decoder  330  to continue decompressing the input  325  at a normal video viewing rate, and the display of the uncompressed copy of a sub-segment of the video segment B  350  to switch to displaying the decompressed output  335  of the compressed video segment B  320  when the end of the uncompressed copy of a sub-segment of the video segment B  350  is reached.  
         [0122]     The operation of an alternative preferred embodiment of the system depicted in  FIG. 1  is now described.  
         [0123]     Reference is now additionally made to  FIGS. 4A-4E , which are simplified pictorial illustrations of a preferred mode of operation of the alternative preferred embodiment of the system of  FIG. 1 .  FIGS. 4A-4E  depict a sequence of states, over time, of the system of  FIG. 1 . The transition between states is controlled by the VSC  150 .  
         [0124]      FIGS. 4A-4D  relate to a case where, when switching from a first compressed video segment to a second, “live”, compressed video segment, an uncompressed copy of a sub-segment of the first compressed video segment already exists within the system, and a recording of the second, “live”, video segment is additionally made, and used to locate a random access point in the second “live” video segment.  
         [0125]     In  FIG. 4A  the storage unit  140  sends a compressed video segment  400  to the decoder  120 . Persons skilled in the art will appreciate that the compressed video segment  400  may originate in the storage unit  140  or may be received, through any appropriate conventional mechanism, from a source external to the system of  FIG. 1  such as, for example, a live broadcast.  
         [0126]     The decoder  120  decompresses the compressed video segment  400 , producing a decompressed video segment  405  for display on the video display  100 .  
         [0127]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 4A , the display screen  105  of the video display  100  displays the decompressed video segment  405 .  
         [0128]      FIG. 4B  depicts the system of  FIG. 4A , where the VSC  150  has caused the tuner  130  to start sending a compressed video segment  410  to the storage unit  140  and storage unit  140  to start storing the compressed video segment  410 .  
         [0129]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 4B , the display screen  105  of the video display  100  displays the decompressed video segment  405 .  
         [0130]      FIG. 4C  depicts the system of  FIG. 4B , where the VSC  150  has caused: 
        the storage unit  140  to retrieve an uncompressed video segment  415  and send the uncompressed video segment  415  for display to the video display  100 ;     the storage unit  140  to retrieve the stored compressed video segment  410  of  FIG. 4B  and provide the stored compressed video segment  410  of  FIG. 4B  as input  420  to the decoder  120 ; and     the decoder  120  to start decompressing the input  420 .          
         [0134]     The decoder  120  initially decompresses the input  420  at a rate higher than normal video viewing rate. When the decoder  120  reaches a point where it has caught up with the input  410  being stored onto storage device  140 , the VSC  150  of  FIG. 1  causes the decoder  120  to revert to decompressing the input  420  at a normal video viewing rate.  
         [0135]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 4C , the display screen  105  of the video display  100  displays at least a portion of the uncompressed video segment  415  from the storage unit  140 .  
         [0136]      FIG. 4D  depicts the system of  FIG. 4C  where the VSC  150  has caused: 
        the tuner  130  to stop providing the compressed video segment  410  of  FIG. 4D  as input to the storage unit  140 , and storage unit  140  to stop storing the compressed video segment  410 ; and     the tuner  130  to start providing a compressed video segment  425  as input to the decoder  120 .          
         [0139]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 4D , the display screen  105  of the video display  100  continues displaying the portion of the uncompressed video segment  415  from the storage unit  140 .  
         [0140]      FIG. 4E  depicts the system of  FIG. 4D  after one of two states has been reached:  
         [0141]     1) The decoder  120  has decompressed enough of the compressed video segment  425  to have caught up to the “live” compressed video segment  425  being input from the tuner  130 ; or  
         [0142]     2) The decoder  120  has decompressed enough of the compressed video segment  425  to have caught up to the “live” compressed video segment  425  being input from the tuner  130 , and the storage unit  140  has retrieved the uncompressed video segment  415  completely and reached the end of the uncompressed video segment  415 .  FIG. 4E  depicts the system of  FIG. 4D , in either of the states described above, where the VSC  150  has caused the decoder  120  to start providing a decompressed output  430  as input to the video display  100 , replacing the former uncompressed video segment  415 , and the storage unit  140  to stop retrieving the uncompressed video segment  415 .  
         [0143]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 4E , the display screen  105  of the video display  100  finally displays the decompressed output  430  that the decoder  120  decompressed from the compressed video segment  425  provided as input by the tuner  130 .  
         [0144]     Reference is now made to  FIG. 5 , which is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second, “live”, compressed video segment, useful in understanding an alternative preferred mode of operation of the system of  FIG. 1 .  
         [0145]      FIG. 5  depicts time from left to right, and the following from bottom to top:  
         [0146]     a timeline  500  including significant events;  
         [0147]     a first time bar  505  depicting a first compressed video segment A, which, by way of example and without limiting the generality of the foregoing, is a compressed recorded video segment;  
         [0148]     a second time bar  510  depicting a second compressed video segment B, which, by way of example and without limiting the generality of the foregoing, is a compressed “live” video segment;  
         [0149]     a third time bar  515  depicting a compressed video segment C, representing a recording of a compressed copy of a sub-segment of the video segment B.  
         [0150]     a fourth time bar  520  depicting the decoder  120  of  FIG. 1 ;  
         [0151]     a fifth time bar  525  depicting the display screen  105  of the video display  100  of  FIG. 1 ; and  
         [0152]     a sixth time bar  530  depicting an uncompressed video segment D, representing an uncompressed copy of a sub-segment of the video segment A.  
         [0153]     The mode of operation of the alternative preferred mode of operation of the system of  FIG. 1  is now further described using the timeline  500  of  FIG. 5 , following the timeline  500  from left to right:  
         [0154]     At the start of the timeline  500 , the compressed recorded video segment A  505  is provided as input  535  to the decoder  520 ; the decoder  520  decompresses the input  535  and produces a decompressed output  540 . The decompressed output  540  of the decoder  520  is provided to the display screen  525 . The display screen  525  displays decompressed segment A.  
         [0155]     At the time labeled  545  of the timeline  500 , the VSC  150  of  FIG. 1  causes the compressed “live” video segment B  510  to be provided as an input to the storage unit  140  (not shown) of  FIG. 1 . The storage unit  140  (not shown) of  FIG. 1  starts recording the compressed “live” video segment B  510 .  
         [0156]     At the time labeled  555  of the timeline  500 , the VSC  150  of  FIG. 1  causes the uncompressed video segment D  530  to be provided as an input  560  to the display screen  525 , replacing the former input  540  to the display screen  525 , and recorded compressed video segment C  515  to be provided as an input  565  to the decoder  520 . At this point in time the display screen starts displaying the uncompressed video segment D  530 , which is an uncompressed copy of a sub-segment of the video segment A. At this point in time, or soon thereafter the decoder  520  starts decompressing the input  565  at a higher than normal video viewing rate. Persons skilled in the art will appreciate that a short period of time may elapse from the time the decoder  520  stops decompressing the compressed recorded video segment A  505  to the time the decoder  520  starts decompressing the recorded compressed video segment C  515 ; this elapsed time is not depicted in  FIG. 5 .  
         [0157]     At the time labeled  570  of the timeline  500 , the decoder  520 , which is decompressing the recorded compressed video segment C  515  of the compressed “live” video segment B  510  at a higher than normal viewing rate, reaches a point  575  in the recorded compressed video segment C  515  that does not lag behind the “live” video segment B  510 . At this point in time the VSC  150  of  FIG. 1  causes the decoder  520  to revert to decompressing the input  565  at a normal video viewing rate.  
         [0158]     At the time labeled  580  of the timeline  500 , the VSC  150  of  FIG. 1  causes the compressed “live” video segment B  510  to be provided as input  585  to the decoder  520 , replacing the former input  565  to the decoder  520 , and causes the storage unit  140  (not shown) of  FIG. 1  to stop recording the compressed “live” video segment B  510 . At this point in time the decoder  520  starts decompressing the compressed “live” video segment B  510  at a normal video viewing rate.  
         [0159]     At the time labeled  590  of the timeline  500 , the VSC  150  of  FIG. 1  causes the decoder  520  to provide a new input  595  to the display screen  525 , replacing the former input  560  to the display screen  525 . The VSC  150  causes the switch between the former input  560  to the new input  595  to the display screen when the system of  FIG. 1  reaches either one of two states, corresponding to the two states described in the description of  FIG. 4E :  
         [0160]     1) The decoder  520  has decompressed enough of the compressed video segment B  510  to have caught up to the “live” compressed video segment B  510 ; or  
         [0161]     2) The decoder  520  has decompressed enough of the compressed video segment B  510  to have caught up to the “live” compressed video segment B  510 , and the storage unit  140  of  FIG. 4E  has retrieved the uncompressed video segment D  530  completely and reached the end of the uncompressed video segment D  530 .  
         [0162]     It is appreciated that once the system of  FIG. 4D  has reached the first state described above, the VSC  150  may cause a switch from the former input  560  to the new input  595  at any time until the system of  FIG. 4D  reaches the second state described above.  FIG. 5  depicts the system of  FIG. 4D  in a state where the VSC  150  has caused a switch from the former input  560  to the new input  595  when the display screen  525  has reached the end of the uncompressed video segment D  530 .  
         [0163]     The operation of another alternative preferred embodiment of the system depicted in  FIG. 1  is now described.  
         [0164]     Reference is now made to  FIGS. 6A-6D , which are simplified pictorial illustrations of the preferred mode of operation of the alternative preferred embodiment of the system of  FIG. 1 .  FIGS. 6A-6D  depict a sequence of states, over time, of the system of  FIG. 1 . The transition between states is controlled by the VSC  150 .  
         [0165]      FIGS. 6A-6D  relate to a case where, when switching from a first compressed video segment to a second compressed video segment, an uncompressed copy of a sub-segment of the first compressed video segment already exists within the system, and the system switches to displaying the second compressed video segment after as enough data has been decompressed to start displaying the second, compressed video segment.  
         [0166]     In  FIG. 6A  the storage unit  140  sends a compressed video segment  600  to the decoder  120 . Persons skilled in the art will appreciate that the compressed video segment  600  may originate in the storage unit  140  or may be received, through any appropriate conventional mechanism, from a source external to the system of  FIG. 1 .  
         [0167]     The decoder  120  decompresses the compressed video segment  600 , producing a decompressed video segment  605  for display on the video display  100 .  
         [0168]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 6A , the display screen  105  of the video display  100  displays the decompressed video segment  605 .  
         [0169]      FIG. 6B  depicts the system of  FIG. 6A , where the VSC  150  has caused: 
        the storage unit  140  to stop sending the compressed video segment  600  to the decoder  120 ; and     the storage unit  140  to retrieve an uncompressed video segment  610  and send the uncompressed video segment  610  for display to the video display  100 .          
         [0172]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 6B , the display screen  105  of the video display  100  displays at least a portion of the uncompressed video segment  610  from the storage unit  140 .  
         [0173]      FIG. 6C  depicts the system of  FIG. 6B , where the VSC  150  has caused: 
        the storage unit  140  to additionally retrieve a compressed video segment  615 , and send the compressed video segment  615  to the decoder  120 ; and     the decoder  120  to decompress the compressed video segment  615 ; however, the decoder  120  does not send output to the video display  100 .          
         [0176]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 6C , the display screen  105  of the video display  100  continues to display at least a portion of the uncompressed video segment  610  from the storage unit  140 .  
         [0177]      FIG. 6D  depicts the system of  FIG. 6C , where the VSC  150  has caused: 
        the decoder  120  to send a decompressed video segment  620 , which corresponds to the compressed video segment  615 , to the video display  100 , and the storage unit  140  to stop sending the video segment  610  for display to the video display  100 .          
         [0179]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 6D , the display screen  105  of the video display  100  displays the decompressed video segment  620 .  
         [0180]     Reference is now made to  FIG. 7 , which is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second compressed video segment, useful in understanding the preferred mode of operation of the system of  FIG. 1  shown in  FIGS. 6A-6D .  
         [0181]      FIG. 7  depicts time from left to right, and the following from bottom to top:  
         [0182]     a timeline  700  including significant events;  
         [0183]     a first time bar  705  depicting a first compressed video segment A, which, by way of example and without limiting the generality of the foregoing, is a compressed recorded video segment;  
         [0184]     a second time bar  710  depicting a second compressed video segment B, which, by way of example and without limiting the generality of the foregoing, is a compressed recorded video segment;  
         [0185]     a third time bar  720  depicting the decoder  120  of  FIG. 1 ;  
         [0186]     a fourth time bar  730  depicting the display screen  105  of the video display  100  of  FIG. 1 ; and  
         [0187]     a fifth time bar  740  depicting an uncompressed video segment C, representing an uncompressed copy of a sub-segment of the video segment A.  
         [0188]     The mode of operation of  FIGS. 6A-6D  is now further described using the timeline  700  of  FIG. 7 , following the timeline  700  from left to right:  
         [0189]     At the start of the timeline  700 , the compressed recorded video segment A  705  is provided as input  745  to the decoder  720 ; the decoder  720  decompresses the input  745  and produces a decompressed output  750 . The decompressed output  750  of the decoder  720  is provided as input to the display screen  730 . The display screen  730  displays decompressed segment A.  
         [0190]     At the time labeled  755  of the timeline  700 , the VSC  150  of  FIG. 1  causes the uncompressed copy  740  to be provided as an input  760  to the display screen  730 . From this time on, the uncompressed copy  740  is provided as an input  760  to the display screen  730 , freeing the decoder  720 .  
         [0191]     At the time labeled  765  of the timeline  700 , the VSC  150  of  FIG. 1  causes the compressed video segment B  710  to be provided as input  770  to the decoder  720 . The decoder  720  starts decompressing segment B  710 . The VSC  150  of  FIG. 1  preferably, although not necessarily, causes the compressed video segment B  710  to be provided as input  770  to the decoder  720  from the nearest random access point in the compressed video segment B  710 , thus causing the time elapsed from the time labeled  755  of the timeline  700  to the time labeled  765  of the timeline  700  to be as short as possible.  
         [0192]     The VSC  150  of  FIG. 1  preferably causes the compressed video segment B  710  to be provided as input  770  to the decoder  720  as soon as possible after the time labeled  755  of the timeline  700 , and the decoder  720  to start decompressing segment B  710  as efficiently as possible, as described in the cases listed below:  
         [0193]     1) The compressed video segment B  710  is a “live” compressed video segment, and the decoder  720  starts decompressing the compressed video segment B  710  at the first random access point of the compressed video segment B  710  that the decoder  720  encounters. As soon as the decoder  720  has decompressed enough data to display an image, the VSC  150  of  FIG. 1  causes the decoder  720  to provide the decompressed output  780  as input to the display screen  730 , as described below with reference to the timeline  700  at the time labeled  775 .  
         [0194]     2) The compressed video segment B  710  is a recorded compressed video segment, and the decoder  720  starts decompressing the compressed video segment B  710  at the beginning of the compressed video segment B  710 . As soon as the decoder  720  has decompressed enough data to display an image, the VSC  150  of  FIG. 1  causes the decoder  720  to provide the decompressed output  780  as input to the display screen  730 , as described below with reference to the timeline  700  at the time labeled  775 .  
         [0195]     3) If it is desired to display the compressed recorded video segment B  710  from a specific video frame, the decompression of the compressed recorded video segment B  710  may have to begin from a random access point corresponding to one of the cases listed below:  
         [0196]     3a) The random access point precedes the desired video frame. The decoder  720  preferably decompresses the compressed recorded video segment B  710  from the random access point at a rate that is faster than normal video viewing rate until reaching the desired video frame. When the desired video frame has been reached, and as soon as the decoder  720  has also decompressed enough data to display an image, the VSC  150  of  FIG. 1  causes the decoder  720  to revert to decompressing at a normal video viewing rate, and to provide the decompressed output  780  as input to the display screen  730 , as described below with reference to the time labeled  775  of the timeline  700 .  
         [0197]     3b) The random access point corresponds exactly to the desired video frame. The decoder  720  preferably decompresses the compressed recorded video segment B  710  from the random access point, and as soon as the decoder  720  has decompressed enough data to display an image, the VSC  150  of  FIG. 1  causes the decoder  720  to provide the decompressed output  780  as input to the display screen  730 , as described below with reference to the time labeled  775  of the timeline  700 . At the time labeled  775  of the timeline  700 , the VSC  150  of  FIG. 1  causes the decoder  720  to provide decompressed output  780  as input to the display screen  730 .  
         [0198]     The VSC  150  of  FIG. 1  may cause the display screen  730  to switch from displaying the uncompressed video segment C  740 , to displaying the output  780  of the decoder  720  at any time after the decoder  720  has decompressed enough data to display an image, and until the display of the uncompressed video segment C  740  ends.  FIG. 7  depicts a case where the VSC  150  of  FIG. 1  has caused a switch before the end of the uncompressed video segment C  740 .  
         [0199]     The operation of still another alternative preferred embodiment of the system depicted in  FIG. 1  is now described.  
         [0200]     Reference is now made to  FIGS. 8A-8D , which are simplified pictorial illustrations of a preferred mode of operation of the alternative preferred embodiment of the system of  FIG. 1 .  FIGS. 8A-8D  depict a sequence of states, over time, of the system of  FIG. 1 . The transition between states is controlled by the VSC  150 .  
         [0201]      FIGS. 8A-8D  relate to a case where, when switching from a first compressed video segment to a second compressed video segment, an uncompressed copy of a sub-segment of the first compressed video segment already exists within the system, and the system of  FIG. 1  locates a random access point in the second compressed video segment without recording the second compressed video segment.  
         [0202]     In  FIG. 8A  the storage unit  140  sends a compressed video segment  800  to the decoder  120 . Persons skilled in the art will appreciate that the compressed video segment  800  may originate in the storage unit  140  or may be received, through any appropriate conventional mechanism, from a source external to the system of  FIG. 1  such as, for example, a DVD player etc.  
         [0203]     The decoder  120  decompresses the compressed video segment  800 , producing a decompressed video segment  810  for display on the video display  100 .  
         [0204]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 8A , the display screen  105  of the video display  100  displays the decompressed video segment  810 .  
         [0205]      FIG. 8B  depicts the system of  FIG. 8A , where the VSC  150  has caused: 
        the storage unit  140  to stop sending the compressed video segment  800  of  FIG. 8A  to the decoder  120 ; and     the storage unit  140  to retrieve an uncompressed video segment  820  and send the uncompressed video segment  820  for display to the video display  100 .          
         [0208]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 8B , the display screen  105  of the video display  100  displays at least a portion of the uncompressed video segment  820  from the storage unit  140 .  
         [0209]      FIG. 8C  depicts the system of  FIG. 8B , where the VSC  150  has caused: 
        the storage unit  140  to additionally retrieve a compressed video segment  830 , and send the compressed video segment  830  to the decoder  120 ; and     the decoder  120  to decompress the compressed video segment  830 ; however, the decoder  120  does not send output to the video display  100 .          
         [0212]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 8C , the display screen  105  of the video display  100  continues to display at least a portion of the uncompressed video segment  820  from the storage unit  140 .  
         [0213]      FIG. 8D  depicts the system of  FIG. 8C , where the VSC  150  has caused the decoder  120  to send a decompressed video segment  840 , which corresponds to the compressed video segment  830 , to the video display  100 , and the storage unit  140  to stop sending the video segment  820  of  FIG. 8C  for display to the video display  100 .  
         [0214]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 8D , the display screen  105  of the video display  100  displays the decompressed video segment  840 .  
         [0215]     Reference is now made to  FIG. 9 , which is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second compressed video segment, useful in understanding the preferred mode of operation of the system of  FIG. 1  shown in  FIGS. 8A-8D .  
         [0216]      FIG. 9  depicts time from left to right, and the following from bottom to top:  
         [0217]     a timeline  900  including significant events;  
         [0218]     a first time bar  910  depicting a first compressed video segment A, which, by way of example and without limiting the generality of the foregoing, is a compressed recorded video segment;  
         [0219]     a second time bar  920  depicting a second compressed video segment B, which, by way of example and without limiting the generality of the foregoing, is another compressed recorded video segment;  
         [0220]     a third time bar  930  depicting the decoder  120  of  FIG. 1 ;  
         [0221]     a fourth time bar  940  depicting the display screen  105  of the video display  100  of  FIG. 1 ; and  
         [0222]     a fifth time bar  950  depicting an uncompressed video segment C, representing an uncompressed copy of a sub-segment of the video segment A.  
         [0223]     The mode of operation of  FIGS. 8A-8D  is now further described using the timeline  900  of  FIG. 9 , following the timeline  900  from left to right:  
         [0224]     At the start of the timeline  900 , the compressed recorded video segment A  910  is provided as input  955  to the decoder  930 ; the decoder  930  decompresses the input  955  and produces a decompressed output  960 . The decompressed output  960  of the decoder  930  is provided to the display screen  940 . The display screen  940  displays decompressed segment A.  
         [0225]     At the time labeled  965  of the timeline  900 , the VSC  150  of  FIG. 1  causes the uncompressed copy  950  to be provided as an input  975  to the display screen  940 , and the compressed recorded video segment B  920  to be provided as an input  970  to the decoder  930 . From this time on, the uncompressed copy  950  is provided as an input  975  to the display screen  940 , freeing the decoder  930  to decompress the compressed recorded video segment B  920 . The decoder  930  decompresses the compressed recorded video segment B  920 , but the result of the decompression is not sent to the display screen  940 . Persons skilled in the art will appreciate that a short period of time may elapse from the time the decoder  930  stops decompressing the compressed video segment A  910  to the time the decoder  930  starts decompressing the compressed video segment B  920 ; this elapsed time is not depicted in  FIG. 9 .  
         [0226]     Persons skilled in the art will appreciate that if displaying the compressed recorded video segment B  920  from a specific video frame is desired, the decompression may have to begin from a random access point corresponding to one of the cases listed below:  
         [0227]     1) The random access point precedes the specific video frame.  
         [0228]     2) The random access point corresponds exactly to the specific video frame.  
         [0229]     At the time labeled  980  of the timeline  900 , the decoder  930  has decompressed enough data to display the beginning of the compressed recorded video segment B  920 , and the VSC  150  of  FIG. 1  causes the decoder  930  to stop decompressing the compressed recorded video segment B  920 .  
         [0230]     Persons skilled in the art will appreciate that all of the cases described above are depicted in  FIG. 9  in the transition from the time labeled  965  to the time labeled  980  of the timeline  900 .  
         [0231]     At the time labeled  985  of the timeline  900 , the display of the uncompressed copy  950  ends, and the VSC  150  of  FIG. 1  causes: 
        the compressed video segment B  920  to again be provided as input to decoder  930 ; and     the decoder  930  to send an output  995  to be provided as input to the display screen  940 .        
 
         [0234]     At the time labeled  985  of the timeline  900 , the display switches from displaying the compressed recorded video segment A  910  to displaying the compressed recorded video segment B  920 .  
         [0235]     The VSC  150  of  FIG. 1  may cause the display screen  940  to switch from displaying the uncompressed video segment C  950 , to displaying the output  995  of the decoder  930  at any time after the decoder  930  has decompressed enough data to display an image, and until the display of the uncompressed video segment C  950  ends.  FIG. 9  depicts a case where the VSC  150  of  FIG. 1  has caused a switch at the end of the uncompressed video segment C  950 . The operation of another alternative preferred embodiment of the system depicted in  FIG. 1  is now described.  
         [0236]     Reference is now made to  FIGS. 10A-10D , which are simplified pictorial illustrations of a preferred mode of operation of an alternative preferred embodiment of the system of  FIG. 1 .  
         [0237]      FIGS. 10A-10D  depict a sequence of states, over time, of the system of  FIG. 1 . The transition between states is controlled by the VSC  150 .  
         [0238]     In the alternative preferred embodiment of  FIGS. 10 A-10D  a first compressed video segment is continuously decompressed into a buffer, and played out from the buffer after a short time lag. When switching from the first compressed video segment to a second compressed video segment, the display of the first video segment is continued from the buffer, while a decoder starts decompressing the second compressed video segment. When the decoder has decompressed enough of the second compressed video the display switches from displaying the first video segment to displaying the second video segment.  
         [0239]      FIG. 10A  comprises the components of  FIG. 1 , whereby the STB  110  of  FIG. 1  further comprises a buffer  1000  operative to store and retrieve uncompressed video output from the decoder  120 . The components comprised in the STB  110  are described throughout the present specification in terms of their functionality. Persons skilled in the art will appreciate that some of the components comprised in the STB  110  which are described as separate components may be implemented together in any appropriate combination.  
         [0240]     In  FIG. 10A  the storage unit  140  sends a compressed video segment  1010  to the decoder  120 . Persons skilled in the art will appreciate that the compressed video segment  1010  may originate in the storage unit  140  or may be received, through any appropriate conventional mechanism, from a source external to the system of  FIG. 1  such as, for example, a live broadcast.  
         [0241]     The decoder  120  decompresses the compressed video segment  1010 , producing a decompressed output  1020  as input to the buffer  1000 .  
         [0242]     The buffer  1000  produces an uncompressed output  1030  as input for the video display  100 .  
         [0243]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 10A , the display screen  105  of the video display  100  displays the uncompressed video segment  1030 .  
         [0244]      FIG. 10B  depicts the system of  FIG. 10A , where the VSC  150  has caused: 
        the storage unit  140  to stop sending the compressed video segment  1010  to the decoder  120 ; and     the decoder  120  to stop sending the decompressed output  1020  as input to the buffer  1000 .          
         [0247]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 10B , the display screen  105  of the video display  100  continues to display the uncompressed video segment  1030  which is output from the buffer  1000 .  
         [0248]      FIG. 10C  depicts the system of  FIG. 10B , where the VSC  150  has caused the tuner  130  to provide a compressed video segment  1040 , and send the compressed video segment  1040  to the decoder  120 .  
         [0249]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 10C , the display screen  105  of the video display  100  continues to display the uncompressed video segment  1030  which is output from the buffer  1000 .  
         [0250]      FIG. 10D  depicts the system of  FIG. 10C , where the decoder  120  has decoded enough data to display an image. At this point in time the VSC  150  has caused: 
        the decoder  120  to provide a decompressed output  1050  as input to the buffer  1000 ; and     the buffer  1000  to send an uncompressed output  1060 , comprised of the decompressed input  1050 , to the video display  100 , replacing the former output  1030  of  FIG. 10C .          
         [0253]     During the time when the system of  FIG. 1  is in the state depicted by  FIG. 10D , the display screen  105  of the video display  100  displays the decompressed video segment  1060 .  
         [0254]     Reference is now made to  FIG. 11 , which is a simplified pictorial illustration of a timeline of switching from playing a first compressed video segment to playing a second compressed video segment, useful in understanding the preferred mode of operation of the system of  FIG. 1  shown in  FIGS. 10A-10D .  
         [0255]      FIG. 11  depicts time from left to right, and the following from bottom to top:  
         [0256]     a timeline  1100  including significant events;  
         [0257]     a first time bar  1110  depicting a compressed video segment A, which, by way of example and without limiting the generality of the foregoing, is a compressed recorded video segment;  
         [0258]     a second time bar  1120  depicting a compressed video segment B, which, by way of example and without limiting the generality of the foregoing, is a compressed “live” video segment;  
         [0259]     a third time bar  1130  depicting the decoder  120  of  FIG. 10A ;  
         [0260]     a fourth time bar  1140  depicting the buffer  1000  of  FIG. 10A ; and  
         [0261]     a fifth time bar  1150  depicting the display screen  105  of the video display  100  of  FIG. 10A .  
         [0262]     The mode of operation of  FIGS. 10A-10D  is now further described using the timeline  1100  of  FIG. 11 , following the timeline  1100  from left to right:  
         [0263]     At the start of the timeline  1100 , the compressed recorded video segment  1110  is provided as input  1155  to the decoder  1130 ; the decoder  1130  decompresses the input  1155  and produces a decompressed output  1160 ; the decompressed output  1160  of the decoder  1130  is provided as input to the buffer  1140 ; the buffer  1140  accepts the decompressed output  1160  of the decoder  1130  and provides a time-delayed output  1165  to the display screen  1150 ; and the display screen  1150  displays a time-delayed, decompressed, segment A.  
         [0264]     At the time labeled  1175  of the timeline  1100 , the VSC  150  of  FIG. 10A  causes the compressed video segment B  1120  to be provided as an input  1180  to the decoder  1130 , replacing the compressed video segment A  1110 , and the decoder  1130  to start decompressing the input  1180 . The buffer  1140  continues providing the time-delayed output  1165  to the display screen  1150 , and the display screen  1150  continues to display a time-delayed, decompressed, segment A. Persons skilled in the art will appreciate that a short period of time may elapse from the time the decoder  1130  stops decompressing the compressed video segment A  1110  to the time the decoder  1130  starts decompressing the compressed video segment B  1120 ; this elapsed time is not depicted in  FIG. 11 .  
         [0265]     At the time labeled  1190  of the timeline  1100 , the decoder  330  has decompressed enough data to display an image. The VSC  150  of  FIG. 10A  can cause, from this time on: 
        the decoder  1130  to provide an output  1195  comprised of the result of decompressing the input  1180 ; and     the buffer  1140  to stop providing output  1165  and to start providing an output  1198  comprised of the input  1195  which the buffer  1140  receives from the decoder  1130 , at some time-delay which may be equal to zero.        
 
         [0268]     It is appreciated that once the decoder  330  has decompressed enough data to display an image, the VSC  150  of  FIG. 1  may cause the display screen  1150  to switch from displaying the buffered decompressed contents of the compressed video segment A to displaying the buffered decompressed contents of the compressed video segment B at any moment until the display screen  1150  displays the end of the uncompressed A in the buffer.  
         [0269]     From the time labeled  1190  of the timeline  1100  on, the display screen  1150  displays an uncompressed video segment B, and the buffer  1140  has lost some or all of the time delay.  
         [0270]     Persons skilled in the art will appreciate that the relative lengths of the time bars in  FIGS. 3, 5 ,  7 ,  9  and  11  are not indicative of the actual relative time spans, but rather of the logical mode of operation of the system of  FIG. 1 .  
         [0271]     Reference is now made to  FIGS. 12-22 , which are simplified flowchart illustrations of various preferred methods of operation of the system of  FIG. 1 .  FIGS. 12-22  are believed to be self-explanatory with reference to the above discussion of  FIGS. 1-11 .  
         [0272]     It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.  
         [0273]     It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the invention is defined only by the claims which follow:

Technology Category: g