Abstract:
The invention concerns a receiver, and a method for channel switching at the receiver, the method comprising the steps of switching to a channel transporting a program encoded into Groups of Pictures, receiving the program into a first stream and a second stream, the first stream being encoded with successive first Group of Pictures, first GoP, the second stream being encoded with successive second Group of Pictures, second GoP, each one of the second GoP corresponding to a first GoP and being a subset of the first GoP, each GoP starting with an Intra-frame picture, selecting, between the first stream and the second stream, the picture that is decoded, and displaying the picture.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates generally to channel change in digital television and in particular to a mechanism at a digital television receiver to enable channel change with a single decoder. 
       BACKGROUND OF THE INVENTION 
       [0002]    This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art. 
         [0003]    Changes in Television broadcast technologies have lead to a longer channel change time. With analogical broadcast television, channel change was immediate. With digital television, channel change requires more time. This is illustrated as follows. Video distribution through broadband networks uses standard compression systems such as MPEG-2 or JVT/H.264/MPEG AVC. MPEG standards define the Group of Pictures (GoP). The GoP defines successive pictures sequence I, P, B, noted hereinbelow pictures or frames. These pictures are defined in MPEG standards. The I picture is encoded without any reference to the other pictures. The P picture refers to the previous I or P pictures. The B picture refers to the previous and following I or P pictures. When a receiver receives a new program, it waits for the reception of an I picture to start decoding the program. A delay appears between the reception of the stream and the rendering of the stream on a video screen. 
         [0004]    Some mechanisms are used to reduce the digital television bandwidth. They use less and less I pictures. The decoder requires then more time to find and decode an I picture. This can take up to half a second. Moreover, with television transport over the Internet Protocol networks, an additional buffer is needed at the decoder to compensate the network delivery unreliability. This increases the time between the reception of the program and the transmission of the television stream to the decoder. It can require more than two seconds between the reception and the rendering of the new program picture on the screen. 
         [0005]    Systems exist to improve the decoding time, by adding an additional stream whose structure is such that a picture is more rapidly found to be able to display it. This is what is defined in for example the patent application WO2005112465A1. A “tune-in” companion service is sent along with an original service. This tune-in companion service helps the receiver during the channel change process to retrieve and display the new service more rapidly. With this solution the service is encoded and streamed in its original format, plus encoded and streamed in a “tune-in” format. The parameters of the tune-in companion service can be various, depending on available bandwidth for this tune-in companion service, and channel change time targeted improvement. A tune-in companion service can result in an earlier display compared to the normal Live Media Broadcast (LMB) service. This is achieved by generating an encoded video stream for this tune-in companion service that can have the following characteristics:
       a higher frequency of I picture by means of a smaller GOP size for the video stream. It is then faster to find an I picture in the tune-in companion video stream;   a lower video buffering time. It is faster to fill in the video buffer for the tune-in companion video stream.       
 
         [0008]    A GoP is either open or closed. An open GoP is one that uses pictures from the previous GoP. A closed GoP is one that doesn&#39;t use pictures from the previous GoP. Because of the temporal dependencies between B- and P-frame the receiver decodes incoming pictures in an order that is different from the display order. 
         [0009]      FIG. 1  illustrates four examples of pictures decoding according to four different configurations. Each example illustrates a transmission order and display order for a full resolution stream and a low resolution stream. The transmission order corresponds to the decoding time stamp. The display order corresponds to the presentation time stamp. This illustrates the decoding and presentation steps, after a channel change action, just after the receiver buffering stage. The IPB pictures represented in grey are the ones that are not decoded. The IPB pictures represented in white are decoded. 
         [0010]    The last two examples illustrate a low resolution stream with a closed GoP. It requires only one decoding process. It is mainly due to the fact that when the GoP is open the delay between the decoding time slot of a picture and its presentation is larger than in a closed GoP. The first two examples illustrate a full resolution stream encoded with an open GoP. The decoder concurrently decodes the full and low resolution streams. Indeed each time it is necessary to decode a picture of the full resolution stream there are yet another picture(s) to decode in the low resolution stream to be sure the switch between the two streams is seamless. 
       SUMMARY OF THE INVENTION 
       [0011]    The present invention attempts to remedy at least some of the concerns connected with the receiver in the prior art, by providing a mechanism at a digital television receiver to enable channel change with a single decoder. 
         [0012]    An object of the invention is a method for channel switching at a receiver, comprising the steps of switching to a channel transporting a program encoded into Groups of Pictures, receiving the program into a first stream and a second stream, the first stream being encoded with successive first Groups of Pictures, first GoP, the second stream being encoded with successive second Groups of Pictures, second GoP, each one of the second GoP corresponding to a first GoP and being a subset of the first GoP, each GoP starting with an Intra-frame picture, selecting, between the first stream and the second stream, the picture that is decoded, and displaying the picture. 
         [0013]    The receiver performs a smooth switching between the first and the second streams with a unique decoder. The controller selects the proper picture to decode. 
         [0014]    According to an embodiment of the invention, the method comprises the step of, if the first received I picture belongs to the first stream, releasing reception of the second stream. 
         [0015]    According to an embodiment of the invention, the method comprises the step of, if the first received I picture belongs to the second stream, decoding the second stream pictures until an I picture belonging to the first stream is received. 
         [0016]    According to an embodiment of the invention, the method comprises the step of, on reception of an I picture belonging to the first stream, transitioning from the second stream to the first stream by repeating display of the last decoded second stream picture until the I picture is displayed. 
         [0017]    Another object of the invention is a receiver comprising an interface for receiving a first stream being encoded with successive first Group of Pictures, first GoP, and a second stream being encoded with successive second Group of Pictures, second GoP, each one of the second GoP corresponding to a first GoP and being a subset of the first GoP, each GoP starting with an Intra-frame picture and a controller adapted to perform the selection of the picture that is sent to a video decoder, between the first stream and the second stream. 
         [0018]    According to an embodiment, the controller is adapted to, if the first received I picture belongs to the second stream, selecting the second stream pictures until an I picture belonging to the first stream is received. 
         [0019]    According to an embodiment, the controller is adapted to, on reception of an I picture belonging to the first stream, transitioning from the second stream to the first stream by sending to the video decoder the last decoded second stream picture until the I picture is displayed. 
         [0020]    Another object of the invention is a computer program product comprising program code instructions for executing the steps of the method according to the invention, when that program is executed on a computer. By “computer program product”, it is meant a computer program support, which may consist not only in a storing space containing the program, such as a computer memory, but also in a signal, such as an electrical or optical signal. 
         [0021]    Certain aspects commensurate in scope with the disclosed embodiments are set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of certain forms the invention might take and that these aspects are not intended to limit the scope of the invention. Indeed, the invention may encompass a variety of aspects that may not be set forth below. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0022]    The invention will be better understood and illustrated by means of the following embodiment and execution examples, in no way limitative, with reference to the appended figures on which: 
           [0023]      FIG. 1  illustrates the decoding of I, P and B frames according to the prior art; 
           [0024]      FIG. 2  is a block diagram of a system according to the embodiments; 
           [0025]      FIG. 3  is a block diagram of a receiver according to the embodiments; 
           [0026]      FIG. 4  illustrates a channel change process with one stream; 
           [0027]      FIG. 5  illustrates a first channel change process with a full resolution stream and a low resolution stream; 
           [0028]      FIG. 6  illustrates a second channel change process with a full resolution stream and a low resolution stream; 
           [0029]      FIG. 7  illustrates decoding arbitration after a channel change at the receiver; 
           [0030]      FIG. 8  illustrates the decoding of I, P and B frames according to the embodiment; and 
           [0031]      FIG. 9  is another illustration of the decoding of I, P and B frames according to the embodiment. 
       
    
    
       [0032]    In  FIGS. 2 and 3 , the represented blocks are purely functional entities, which do not necessarily correspond to physically separate entities. Namely, they could be developed in the form of hardware or software, or be implemented in one or several integrated circuits. 
       DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0033]    It is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for purposes of clarity, many other elements found in typical digital multimedia content delivery methods and systems. However, because such elements are well known in the art, a detailed discussion of such elements is not provided herein. The disclosure herein is directed to all such variations and modifications known to those skilled in the art. 
         [0034]    The exemplary embodiment comes within the framework of digital television in the scope of MPEG compression, but the invention is not limited to this particular environment and may be applied within other frameworks where content may be compressed in a high and low resolution. 
         [0035]    The system according to the embodiment is illustrated in  FIG. 2 . A server  6  receives a video source  1  and encodes the video source with a video encoder  2 . It is encoded into a full resolution stream and a low resolution stream. The streams can be received at a video receiver  4  through an Internet Protocol network  3 . The video receiver  4  can decode the stream. When decoded a stream is sent to a video display that displays the video. 
         [0036]    A video receiver  4  according to the embodiment is illustrated in  FIG. 3 . A front end  41  selects a signal received at a given frequency and transmits this signal in baseband to a demultiplexer  42  which extracts there from a digital data stream, for example according to the MPEG standard. This data stream is then translated into a video signal and into an audio signal by an audio/video decoder  47 . As illustrated the demultiplexer extracts a video in a full resolution that is sent to a first buffer  43 . It also extracts a video in a low resolution that is sent to a second buffer  44 . The decoder  47  may access either the first or the second buffer. This is controlled and managed by a decoding controller  45 . The decoding controller is adapted to carrying out the arbitration between the buffered decompressed pictures to be decoded, according to the compressed pictures type (I, P, B), the decoding time stamps (DTS) and presentation time stamps (PTS) of the access unit and the System Time Clock (STC) slave  46  to the Program Clock Reference (PCR). The decoding controller reads these values in the compressed pictures header. It selects a picture to decode according to the method described herein below. It also selects the buffer that is made accessible to the decoder. The pictures that are not decoded are removed from the buffer. The selected picture is then sent to the video decoder. When decoded, the video is buffered  48  before being sent to a display device  5 . According to the embodiment, the receiver comprises a decoder. In an alternative, the decoder could be comprised in another device. The receiver then arbitrates in a same manner the pictures that are transmitted to the decoder for being decoded and transmitted to the display. 
         [0037]      FIG. 4  depicts a channel change process illustrating the waiting time before an I-frame is received and the video decoder buffer delay. The receiver device starts receiving data for the new service from the “Zap” arrow point, which is around the middle of a compressed “I” picture. The decoder buffer delay for a given access unit is noted Δ PCR/PTS . This is the delay of the PCR at the beginning of the decoder buffer loading of an access unit with respect to its Presentation Time Stamp (PTS) which represents the time that decoded access unit will be rendered. Here, the compressed “I” picture with PTS=20 is sent before the PCR=20 packet, and their relative time difference is Δ PCR/PTS . 
         [0038]    The decoder buffer delay Δ PCR/PTS  is implicitly related to the end-to-end delay, from the input of the encoder to the output or presentation of the decoder, which is defined in the standard ISO/IEC 13818-1 amendment 5 dated 2005 on “Information technology—Generic coding of moving pictures and associated audio information: Systems”, noted ISO/IEC 13818-1 hereinafter. It is a constant value determined by the encoding process. The encoder ensures that a given access unit of the stream can be decoded with a decoder buffer size fixed to Δ PCR/PTS . In other words it ensures that no access unit will buffer more than Δ PCR/PTS . The Δ PCR/PTS  is generally not longer than the GoP length. 
         [0039]    In  FIG. 4 , when the receiver changes channel, it first waits for the Waiting time corresponding to the next compressed “I” picture. Then when this “I” picture is received, it checks the corresponding PTS (PTS=30) and has to wait for the decoder “Buffer” time which corresponds to a PCR=30, before starting the picture rendering process. 
         [0040]    The tune-in companion stream is used to improve the waiting time by configuring a shorter GoP. In order to maintain the synchronization of both services presentation, the encoding process configures the GoPs of the two streams in such a way that they remain aligned with respect to the PCR. Moreover the encoding process of the two services is based on the same constant end-to-end delay, which means that the delay from the input to the encoder to the presentation from the decoder of the two services is the same. 
         [0041]      FIG. 5  depicts an original LMB service with an additional “tune-in” companion service, carried respectively in the full and low resolution streams. In this example the tune-in companion service has a GoP length which is half the length of the full resolution stream. 
         [0042]    When the receiver changes or selects a channel, it waits for the Waiting time corresponding to the next compressed “I” picture, in both the full-resolution and the low-resolution streams. As indicated in  FIG. 5  most of the time the first compressed “I” picture found is the low-resolution one. Then the buffer is filled normally until the rendering of the low resolution stream can start, the decoder “Buffer” time. This is indicated in  FIG. 5  by the “Start rendering” arrow which indicates the rendering of low resolution compressed “I” picture with a PTS=25, carried out when PCR=25. Compared to  FIG. 4 , the waiting time has been reduced. Finally the “Switch” arrow at PCR=30 shows when the full resolution stream is ready to be presented; this is equivalent to the “Start rendering” arrow in  FIG. 4 . At this time the low-resolution video is no longer rendered. The companion stream can be disconnected from by the receiver. The full-resolution video is displayed. The channel change phase is finished. 
         [0043]      FIG. 6  depicts the tune-in companion service and an original LMB service carried respectively in the low and full resolution streams. Each service has its own encoding constraints. The original LMB service is encoded with a constant end-to-end delay noted “end-to-end-delay-full-res” which leads for a given access unit to the decoder buffer delay “Δ PCR/PTS  full-res”. The tune-in companion service is encoded with a shorter constant end-to-end delay “end-to-end-delay-low-res” which leads for a given access unit to the decoder buffer delay “Δ PCR/PTS  low-res”. 
         [0044]    In order to maintain synchronization during the presentation of both services, the tune-in companion service is delayed as compared to the original service before the encoding process. The value of the delay is equal to the difference between the values of the end-to-end delay used during the encoding process of each of the two streams: “end-to-end-delay-full-res”-“end-to-end-delay-low-res”. Indeed it is known from ISO/IEC 13818-1 that the end-to-end delay is a constant value. So when the low resolution stream is encoded with a lower end-to-end delay compared to the full resolution stream, the pictures in the low resolution stream are presented before the corresponding pictures of the full resolution stream. Then to synchronize the presentation of the two streams it is necessary to delay the low resolution stream compared to the full resolution stream. Delaying it before the encoding process allows encoding the two streams with the same System Time Clock (STC), keeping the PCR alignment between the full resolution and the delayed low resolution streams. 
         [0045]    In  FIG. 6 , the compressed “I” picture with PTS=20 of the two streams are not transported in a synchronized way anymore. After being buffered in the video decoders they resynchronize themselves because the buffer decoder delays configured by the encoder are such as the difference between the end-to-end delays used to encode them equals the transport delay. 
         [0046]    When the receiver changes or selects a channel, it first waits for the Waiting time corresponding to the next compressed “I” picture that is found in the low resolution stream. Then it fills the video decoder buffer and waits for the “Δ PCR/PTS  low-res” decoder Buffer time that is shorter than the “Δ PCR/PTS  full-res”. This is indicated in  FIG. 6  by the “Start rendering” arrow which indicates the rendering of the low resolution compressed “I” picture with a PTS=20, carried out at PCR=20. Compared to  FIG. 5 , the Buffer time has been reduced. Finally the “Switch” arrow at PCR=30 is the same as in  FIG. 4 . The companion tune-in service is presented during a longer time to the end-user: this is because the presentation of the new service is much faster. 
         [0047]    The decoding controller performs the selection between the full resolution stream and the low resolution stream as illustrated in  FIGS. 5 and 6 . The full and low resolution streams are stored in respective buffers. The controller selects the appropriated picture to be decoded so that this picture is sent to the decoder. 
         [0048]    A decoding arbitration strategy according to the embodiment is illustrated in  FIG. 7 . After a channel change request, the receiver stops receiving the old service and performs the necessary actions to receive and buffer the new original service, the one encoded in full resolution, and its tune-in companion service, the one encoded in low resolution. 
         [0049]    Then the receiver waits for a compressed “I” picture to be decoded in both services streams (step  1 . 1 ). 
         [0050]    If the first compressed “I” picture to be decoded (step  1 . 2 ) belongs to the original service stream (step  2 . 1 ), the receiver stops to process the tune-in companion service, processes the original service and the channel change is effective. 
         [0051]    If the first compressed “I” picture to be decoded (step  1 . 2 ) belongs to the companion service stream (step  2 . 2 ) the receiver begins to decode that picture and continues to process that stream until a compressed “I” picture in the original stream has to be decoded (step  4 . 2 ). 
         [0052]    If the compressed “I” picture of the original stream has to be presented in the next time slot (PTS=DTS+1/frame rate) (step  5 . 1 ) then the original stream is processed. 
         [0053]    Otherwise (step  5 . 2 ) the decoding of this compressed “I” picture is delayed up to the time slot (1/frame rate) just before their presentation and during this time the tune-in companion service is decoded. 
         [0054]    When arbitration between compressed pictures of the two streams to be decoded is necessary and the compressed picture of the original service is chosen, the corresponding picture of the tune-in service is deleted from its buffer. In this case the presented picture in a time slot where no decode picture is available leads to the presentation of the previous decoded picture. 
         [0055]      FIG. 8  illustrates the way the decoding conflicts are managed in the receiver of the embodiment. It shows the same streams as the one indicated in  FIG. 1 . The decoding process is different, which conducts to a different display order. This  FIG. 8  also shows that when any decoded picture is available in a time slot of the tune-in companion stream then the strategy to present the previous decoded picture is adopted. 
         [0056]    In the last two examples, there is no conflict when switching from the low resolution stream to the full resolution one. This is due to the fact that the first i-frame of the full resolution stream is presented in the time slot following the one in which this frame is decoded. And, the frame of the low resolution stream to be presented during the time slot the decoder decodes the first i-frame of the full resolution stream is already decoded. In the third example, in the time slot the decoder decodes the high resolution “I 11 ” frame, it is presenting the low resolution “P 10 ” frame which is already decoded. After this last frame, the decoder presents the high resolution “I 11 ” frame. Consequently the switch between both streams is seamless. 
         [0057]    In the first two examples, the switch is achieved seamlessly with the decoder. The first example is further illustrated in  FIG. 9  that also shows the time slots  1  to  19 . The user performs a channel change after the high resolution “I 1 ” frame was delivered but before the low resolution “I 7 ” frame was received by the decoder. The decoder decodes respectively the low resolution frames “I 7 ”, “P 10 ”, “b 11 ” and “b 12 ” during the time slots  7 ,  10 ,  11  and  12  and presents them respectively during the time slots  10 ,  13 ,  11  and  12 . 
         [0058]    Then the decoder receives the high resolution I-frame “I 13 ” that should be decoded during time slot  13  as well as the low resolution I-frame “I 13 ”. Only one of them is decoded during this time slot. The decoding controller checks if the high resolution “I 13 ” frame should be presented during the next time slot, i.e. time slot  14 . As “I 13 ” should be presented during time slot  16  and not during time slot  14 , the decoding controller makes the decoder decoding the low resolution “I 13 ” frame. It also delays the high resolution “I 13 ” frame decoding. During this time slot the decoder presents the low resolution “P 10 ” frame. 
         [0059]    When the time slot  14  starts, the decoding controller checks if the high resolution “I 13 ” frame should be presented during the next time slot, i.e. time slot  15 . As it should not be presented, the decoding controller makes the decoder decoding the low resolution “b 14 ” frame and delays the high resolution “I 13 ” frame decoding. During this time slot the decoder presents the low resolution “b 14 ” frame. 
         [0060]    When the time slot  15  starts, the decoding controller checks if the high resolution “I 13 ” frame should be presented during the next time slot, i.e. time slot  16 . As it should be presented, the decoding controller makes the decoder decoding this frame and stops making decoding the low resolution stream. During this time slot, the decoder has no decoded frame to present as both low resolution and high resolution “b 15 ” frames were not decoded. 
         [0061]    The decoder manages this transition by repeating during a second time slot the low resolution “b 14 ” frame. The end user sees the same frame during 2 frame periods. Of course, if the decoder stops decoding the low resolution stream as soon as the high resolution I-frame should be decoded, during time slot  13  in  FIG. 9 , the same low resolution “P 10 ” frame is displayed during three frame periods. Alternatively the transition is not managed by the decoder but by the controller. The controller indicates to the decoder that it should present the last decoded frame again. 
         [0062]    References disclosed in the description, the claims and the drawings may be provided independently or in any appropriate combination. Features may, where appropriate, be implemented in hardware, software, or a combination of the two. 
         [0063]    Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one implementation of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. 
         [0064]    Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.