WO2014067566A1 - Method and device for streaming video - Google Patents

Method and device for streaming video Download PDF

Info

Publication number
WO2014067566A1
WO2014067566A1 PCT/EP2012/071519 EP2012071519W WO2014067566A1 WO 2014067566 A1 WO2014067566 A1 WO 2014067566A1 EP 2012071519 W EP2012071519 W EP 2012071519W WO 2014067566 A1 WO2014067566 A1 WO 2014067566A1
Authority
WO
WIPO (PCT)
Prior art keywords
video stream
quality
video
channel
stream
Prior art date
Application number
PCT/EP2012/071519
Other languages
French (fr)
Inventor
Michael Huber
Staffan Pehrson
Original Assignee
Telefonaktiebolaget L M Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget L M Ericsson (Publ) filed Critical Telefonaktiebolaget L M Ericsson (Publ)
Priority to PCT/EP2012/071519 priority Critical patent/WO2014067566A1/en
Publication of WO2014067566A1 publication Critical patent/WO2014067566A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers

Definitions

  • the present application relates to a method in a video device for streaming video, a video device for streaming video, and a computer-readable medium.
  • IPTV Internet protocol television
  • IP network typically a broadband access network
  • IPTV Internet Group Management Protocol
  • IGMP Internet Group Management Protocol
  • the multicast group that the STB joins contains streams with mpeg transport streams (mts).
  • An mts contains multiplexed mpeg data (normally MPEG 2 or MPEG 4 part 10) frames.
  • mpeg transport streams normally MPEG 2 or MPEG 4 part 10.
  • certain control elements in the mts need to be found and processed in order to be able to select video and audio flows. Once this is done there are different frames in MPEG, so-called l-frames which contain a full picture, P-frames contain incremental extrapolation information, and B-frames contain interpolation information. Since B and P frames depend on adjacent frames it is necessary that the STB receives a full l-frame before the STB can begin to show a new channel.
  • the average time for switching between channels will depend on the distance in time between l-frames and the location of the control elements.
  • the l-frame distance is around 0.5 seconds and for mpeg-4 part 10 it can be up to several seconds.
  • the buffer size in the STB and network equipment is the buffer size in the STB and network equipment
  • Some solutions propose using a unicast delivery method to increase the speed of channel change, for example by sending the latest l-frame by unicast.
  • a major problem with any solution that uses unicast is that this is a very inefficient use of bandwidth.
  • a practical system is unlikely to be able to support unicast connections to anything more than a small proportion of users.
  • This can be overcome by reducing the number of concurrent users of a particular RTP-switch by placing the RTP-switch either close to, or inside the access node. This is a costly solution. Accordingly, there is a need for an improved method and apparatus for streaming video.
  • the methods and apparatus described here use a low quality version of at least one next predicted channel. This is received by the STB at the same time as a current high quality channel.
  • the STB can immediately begin showing the low quality stream, while requesting and waiting to receive the high quality version of the channel.
  • a user would prefer to watch the selected channel immediately at a low quality than wait several seconds with a blank screen for the selected channel to arrive at a high quality.
  • a method in a video device, for streaming video.
  • the method comprises receiving and outputting first video stream at a first quality, and receiving a second video stream which may be selected, the second video stream received at a second quality, the second quality a lower quality than the first quality.
  • the method further comprises receiving a selection of the second video stream, and in response to such a selection: outputting the second video stream at the second quality; and requesting the second video stream at a third quality, the third quality a higher quality than the second quality.
  • the method may further comprise receiving and outputting the second video at the third quality.
  • the lower quality second video stream may be output until the higher quality video stream is received.
  • the method may further comprise identifying a second video stream which may be selected, the identification made prior to the receipt of or the selection of the second video stream.
  • the identification may comprise the prediction of a most likely next video stream to be selected. It is possible that a selection of a different video stream is received, in which case the video device performs a conventional stream change.
  • the second video stream may be identified as a video stream associated with a channel number adjacent to a channel number associated with the first video stream.
  • the second video stream may be further identified as a video stream other than the video stream that was output prior to the output of the first video stream.
  • a plurality of second video streams may be received, and a selection of one of the second video streams is received.
  • the method may further comprise decoding a received video stream prior to its output.
  • a video device for streaming video, the video device comprising first and second inputs, and an output.
  • the first input is for receiving a first video stream at a first quality and a second video stream which may be selected, the second video stream received at a second quality, the second quality a lower quality than the first quality.
  • the output is for outputting a first video stream at a first quality.
  • the second input is for receiving a selection of the second video stream, and in response thereto: outputting from the output the second video stream at the second quality; and requesting at the first input the second video stream at a third quality, the third quality a higher quality than the second quality.
  • the second video stream is being received at the same time as the first video stream, albeit at a lower quality, when the second video stream is selected it can be output very quickly, giving a fast channel change. If a channel other than the second video stream is selected, a conventional channel change is performed.
  • the first and second inputs may be the same input modules, such as a Wi-Fi input.
  • the first input may be a high bandwidth connection such as Wi-Fi or cable
  • the second input may be a low bandwidth connection such as an infra-red receiver.
  • the output may be further arranged to output the second video at the third quality. The lower quality second video stream is output until the higher quality video stream is received.
  • the first input is arranged to receive a plurality of second video streams, and wherein the second input is arranged to receive a selection of one of the second video streams.
  • the video device may further comprise a processor for decoding at least one video stream, wherein the output is arranged to output a decoded video stream.
  • the video device may further comprise a processor arranged to identify at least one second video stream which may be selected, the identification made prior to the receipt of or the selection of the second video stream. The identification may comprise the prediction of a most likely next video stream to be selected. It is possible that a selection of a different video stream is received, in which case the video device performs a conventional stream change.
  • the processor may identify as the second video stream a video stream that is associated with a channel number adjacent to a channel number associated with the first video stream.
  • the second video stream may be further identified as a video stream other than the video stream that was output prior to the output of the first video stream.
  • the processor may identify as the at least two second video streams the video stream that are associated with channel numbers immediately before and immediately after a channel number associated with the first video stream.
  • the second video stream may be further identified as a video stream other than the video stream that was output prior to the output of the first video stream.
  • the second video stream(s) may be selected from a list of favorite channels.
  • the second video stream may be identified as a channel adjacent to the first video stream on the list of favorite channels. Where two video streams are identified, the second video streams may be identified as the preceding and subsequent channels adjacent to the first video stream on the list of favorite channels.
  • the computer program product may be in the form of a non-volatile memory or volatile memory, e.g. an EEPROM (Electrically Erasable Programmable Read-only Memory), a flash memory, a disk drive or a RAM (Random-access memory).
  • EEPROM Electrically Erasable Programmable Read-only Memory
  • flash memory e.g. a flash memory
  • disk drive e.g. a disk drive
  • RAM Random-access memory
  • Figure 1 illustrates the stream switching on a client STB
  • Figure 2 illustrates the stream switching by an alternate client STB
  • Figure 3 illustrates a method described herein
  • Figure 4 shows a prediction process for the most likely next channel to be selected
  • Figure 5 illustrates an apparatus for performing the methods described herein. Detailed description
  • the channel change time can be greatly improved by causing the client, such as an STB, to join and buffer low bitrate versions of the next predicted channel that will be zapped in to by the user.
  • the streams will be ready to view almost instantly when the user selects that channel, albeit at a lower quality.
  • the streams are typically delivered by adaptive streaming, so low quality versions of the streams are ready available from adaptive streaming. Since the low bit rate version of an adaptive stream, the system does not increase the bandwidth needed by a significant amount. And importantly, the system is not subject to sudden spikes in demand for bandwidth usage in the event that that a large proportion of users try to change channel at the same time.
  • the prediction of the next channel may be based on user action other than the preceding channel selection procedure. For example, where there are more than 10 channels available, the user needs to enter two digits to select a particular channel. If the user types in numbers to watch a new channel, the first number can be used to predict which channel the user will be switching to and so which channel should be received at low quality for buffering. For example, if the client is outputting channel 1 , then receives an input of key press 4, it is possible that channel 04 is being selected, so the client would start buffering 04. However, the user might input a further digit to select channel 4x where x is 0-9.
  • the client could buffer all 1 1 channels (04, 40, 41 , 42, 43, 44, 45, 46, 47, 48, 49). This would be feasible if particularly low bitrate versions of the channels were used.
  • the client could determine which of these 1 1 channels is most likely to be selected and begin buffering of low quality versions of the most probable.
  • the most probable channels may be selected by what channels are frequently joined by that client or by what is most popular on the network. More than one predicted next channel may be received at low quality in addition to the currently shown high quality channel. Different rules and algorithms may be used to select which are the most likely predicted next channels.
  • the channel predictions may change according to how much time has elapsed since the last channel change was made. Further channel predictions may change according to the time of day. Channel change history of the client or user account on the client may be used to refine the channel predictions.
  • the low bitrate streams are one version of the so called ABR (adaptive bitrate streams), those have all the same parameters as the original high quality streams except they have much lower quality and so have a much lower bitrate, requiring less bandwidth. These streams do not cost too much extra bandwidth in the network.
  • the streams may be in all other sense similar, so magic streams here with only l-frames are not required. This advantageously reduces the computation required at the server.
  • Figure 1 illustrates the stream switching on a client STB.
  • a first video stream 1 10 is being shown at high quality on a display 180.
  • a receiver of the STB receives both the first video stream at high quality 1 10 and a second video stream at low quality 125.
  • the second video stream is an auxiliary stream and has been identified as the most likely next channel to be selected.
  • the above state is illustrated in figure 1 a, which shows the buffer 100 of the STB and the relative size of the buffered streams (the high quality stream takes up more buffer space than the low quality stream).
  • the buffered first video stream at high quality 1 10 is output to the display 180; and the buffered second video stream at low quality 125 is discarded, or trashed.
  • the STB then receives an instruction to display the second video stream, this instruction may take the form of a channel selection by a user.
  • This state is illustrated in figure 1 b. Now the output of the buffer immediately switches from the first video stream at high quality 1 10 to the second video stream at low quality 125; and the buffered first video stream is now discarded.
  • the STB requests an update of the streams it receives. Such a request may take the form of an IGMP message. Further, the STB identifies a new most likely next selected channel, which is in this case a third video stream. The STB thus updates the streams it receives to include the second video stream at high quality 120 and the third video stream at low quality 135. The low quality version of the second video stream is output to the display 180 until the streams have been updated.
  • Buffer 100 now contains the second video stream at high quality 120 and the third video stream at low quality 135.
  • the third video stream at low quality 135 is discarded.
  • the second video stream at high quality 120 is output to the display 180.
  • FIG. 2 illustrates the stream switching by an alternate client STB, where two auxiliary streams may be received and buffered.
  • a second video stream 220 is being shown at high quality on a display 280.
  • a receiver of the STB receives not only this second video stream at high quality 220 but also a first and third video stream both at low quality 215, 235.
  • the first and third video streams have been identified as the two most likely channels to be selected next.
  • FIG. 2a shows the buffer 200 of the STB and the relative size of the buffered streams (a high quality stream takes up more buffer space than a low quality stream).
  • the buffered second video stream at high quality 220 is output to the display 280; and the buffered first and third video streams at low quality 215, 235 are discarded, or trashed.
  • the STB then receives an instruction to display the third video stream. This state is illustrated in figure 2b. Now the output of the buffer immediately switches from the second video stream at high quality 220 to the third video stream at low quality 235. The buffered first and second video streams 215, 220 are now discarded.
  • the STB identifies two new most likely next selected channels, which in this case are the previously output second video stream and a fourth video stream.
  • the STB requests an update of the streams it receives.
  • Such a request may take the form of an IGMP message.
  • the STB thus requests an update of the streams it receives to include the third video stream at high quality 230 and the second and fourth video streams at low quality 225, 245.
  • the low quality version of the third video stream 235 is output from the buffer 200 to the display 180 until the streams have been updated.
  • Buffer 200 now contains the third video stream at high quality 230 and the second and fourth video stream at low quality 225, 245.
  • the second and fourth video streams at low quality 225, 245 are discarded from the buffer 200.
  • the third video at high quality 230 is output to the display 280.
  • a channel change selection is made for one of the channels that were identified as the most likely next selected channels, then the channel change may be performed near instantly to the buffered low quality version of that channel.
  • the low quality version of the channel is shown until the high quality version is received and may be output.
  • the method described herein is illustrated at figure 3.
  • a first video stream is received at a receiver and output to a display.
  • at least one auxiliary stream is received, in this case a second video stream.
  • the auxiliary streams are identified as the streams most likely to be next selected. In this example only one auxiliary stream is used.
  • a low quality version of the second video stream is received and buffered, this may be the lowest bitrate version of the available adaptive bitrate versions, or it may simply be of lower quality than the first video stream.
  • a user channel change command is received, which in this case is a selection of the second video stream.
  • the buffered second video stream at low quality is output to the display.
  • the receiver may request streams to reflect the channel selection.
  • Such a stream updating will at least comprise requesting the second video stream at higher quality, as shown at 350.
  • Figure 4 is a flow diagram outlining the most likely next channel to be selected prediction process.
  • the process begins at 410 with the receipt of an initiator that triggers the channel prediction process.
  • the trigger may be received from a timer 412, which ensures the prediction process is run periodically, or the trigger may be a channel selection input 415 received from a user input device.
  • a prediction of the most likely next channels to be selected is performed. This prediction may use any appropriate algorithm, including those disclosed herein by way of example.
  • Inputs to the next channel prediction process may include the most recently received channel selection 415, and the channel selection history 425.
  • Figure 5 illustrates an apparatus for performing the methods described herein.
  • the apparatus of figure 5 may reside within a set top box (STB).
  • At least one input 510 receives video streams 517 and channel selections 515.
  • One input 510 is shown as receiving both video streams 517 and channel selections 515; however, these may be received via separate inputs.
  • a processor 520 receives information from input 510.
  • the processor 520 is arranged to receive instructions which, when executed, causes the processor 520 to carry out the above described methods.
  • the instructions may be stored on a memory 525.
  • the processor is arranged to communicate via at least one output 530, which may include outputting a decoded video stream to a display 580.

Abstract

There is provided a method, in a video device, for streaming video. The method comprises receiving and outputting first video stream at a first quality, and receiving a second video stream which may be selected, the second video stream received at a second quality, the second quality a lower quality than the first quality. The method further comprises receiving a selection of the second video stream, and in response to such a selection: outputting the second video stream at the second quality; and requesting the second video stream at a third quality, the third quality a higher quality than the second quality.

Description

METHOD AND DEVICE FOR STREAMING VIDEO
Technical field
The present application relates to a method in a video device for streaming video, a video device for streaming video, and a computer-readable medium.
Background
IPTV (internet protocol television) is a term used when delivering broadcasted TV services over an IP network, typically a broadband access network.
Currently the predominant IPTV service uses a broadband connection, whereby the previously non-IPTV channels, as well as "new" channels with low penetration, are transmitted over the broadband network from the super head-end down to the end-user's set top box (STB). In order to minimize the bandwidth required for these transmissions it is desirable to use multicast techniques through the network. This means that each STB receives the channel it is currently displaying; in contrast to a broadcast network where all channels are received at the STB, which then tunes into the appropriate multiplex and decodes the appropriate channel. In an IPTV service, when the user switches channel the STB then sends out an IGMP (Internet Group Management Protocol) message to leave the current channel and join the new one. In IGMP version 3 this is done in the same message and in previous versions of IGMP the leave and join are sent in two separate messages.
The multicast group that the STB joins contains streams with mpeg transport streams (mts). An mts contains multiplexed mpeg data (normally MPEG 2 or MPEG 4 part 10) frames. When the STB joins a new channel, certain control elements in the mts need to be found and processed in order to be able to select video and audio flows. Once this is done there are different frames in MPEG, so-called l-frames which contain a full picture, P-frames contain incremental extrapolation information, and B-frames contain interpolation information. Since B and P frames depend on adjacent frames it is necessary that the STB receives a full l-frame before the STB can begin to show a new channel. This means that the average time for switching between channels will depend on the distance in time between l-frames and the location of the control elements. Typically for mpeg-2 the l-frame distance is around 0.5 seconds and for mpeg-4 part 10 it can be up to several seconds.
There are other sources of delay in channel change, some of these are:
Distance between l-frames (as explained above);
The buffer size in the STB and network equipment;
· The time it takes for the IGMP leave/join;
Audio/video delay; and
Time to find necessary control data (mts and conditional access systems). In order to alleviate the problem with channel switching delay in an IPTV system, a number of solutions have been proposed. However, one of the biggest problems with many of today's solutions is that they scale poorly in large networks, especially under heavy load. The server is the weakest point in the chain that can expect heavy load when many users change channels at the same time, which is not unusual, for example at the end of a popular sporting event, or at the start of a commercial break. Another problem with previously proposed solutions is that they require client side modifications (even if the solution isn't supported by the client), or that the network needs two different streams, one for clients that support the solution and one for legacy clients. Some solutions propose using a unicast delivery method to increase the speed of channel change, for example by sending the latest l-frame by unicast. However, a major problem with any solution that uses unicast is that this is a very inefficient use of bandwidth. A practical system is unlikely to be able to support unicast connections to anything more than a small proportion of users. This can be overcome by reducing the number of concurrent users of a particular RTP-switch by placing the RTP-switch either close to, or inside the access node. This is a costly solution. Accordingly, there is a need for an improved method and apparatus for streaming video.
Summary
The methods and apparatus described here use a low quality version of at least one next predicted channel. This is received by the STB at the same time as a current high quality channel. When the user selects a new channel, if the newly selected channel is (one of) the next predicted channel(s), then the STB can immediately begin showing the low quality stream, while requesting and waiting to receive the high quality version of the channel. A user would prefer to watch the selected channel immediately at a low quality than wait several seconds with a blank screen for the selected channel to arrive at a high quality.
Accordingly there is provided a method, in a video device, for streaming video. The method comprises receiving and outputting first video stream at a first quality, and receiving a second video stream which may be selected, the second video stream received at a second quality, the second quality a lower quality than the first quality. The method further comprises receiving a selection of the second video stream, and in response to such a selection: outputting the second video stream at the second quality; and requesting the second video stream at a third quality, the third quality a higher quality than the second quality.
Because the second video stream is being received at the same time as the first video stream, albeit at a lower quality, when the second video stream is selected it can be output very quickly, giving a fast channel change. If a channel other than the second video stream is selected, a conventional channel change is performed. The method may further comprise receiving and outputting the second video at the third quality. The lower quality second video stream may be output until the higher quality video stream is received. The method may further comprise identifying a second video stream which may be selected, the identification made prior to the receipt of or the selection of the second video stream. The identification may comprise the prediction of a most likely next video stream to be selected. It is possible that a selection of a different video stream is received, in which case the video device performs a conventional stream change.
The second video stream may be identified as a video stream associated with a channel number adjacent to a channel number associated with the first video stream. The second video stream may be further identified as a video stream other than the video stream that was output prior to the output of the first video stream.
A plurality of second video streams may be received, and a selection of one of the second video streams is received. The method may further comprise decoding a received video stream prior to its output.
There is further provided a video device, for streaming video, the video device comprising first and second inputs, and an output. The first input is for receiving a first video stream at a first quality and a second video stream which may be selected, the second video stream received at a second quality, the second quality a lower quality than the first quality. The output is for outputting a first video stream at a first quality. The second input is for receiving a selection of the second video stream, and in response thereto: outputting from the output the second video stream at the second quality; and requesting at the first input the second video stream at a third quality, the third quality a higher quality than the second quality.
Because the second video stream is being received at the same time as the first video stream, albeit at a lower quality, when the second video stream is selected it can be output very quickly, giving a fast channel change. If a channel other than the second video stream is selected, a conventional channel change is performed. The first and second inputs may be the same input modules, such as a Wi-Fi input. Alternatively the first input may be a high bandwidth connection such as Wi-Fi or cable, and the second input may be a low bandwidth connection such as an infra-red receiver. The output may be further arranged to output the second video at the third quality. The lower quality second video stream is output until the higher quality video stream is received.
The first input is arranged to receive a plurality of second video streams, and wherein the second input is arranged to receive a selection of one of the second video streams. The video device may further comprise a processor for decoding at least one video stream, wherein the output is arranged to output a decoded video stream. The video device may further comprise a processor arranged to identify at least one second video stream which may be selected, the identification made prior to the receipt of or the selection of the second video stream. The identification may comprise the prediction of a most likely next video stream to be selected. It is possible that a selection of a different video stream is received, in which case the video device performs a conventional stream change.
The processor may identify as the second video stream a video stream that is associated with a channel number adjacent to a channel number associated with the first video stream. The second video stream may be further identified as a video stream other than the video stream that was output prior to the output of the first video stream. The processor may identify as the at least two second video streams the video stream that are associated with channel numbers immediately before and immediately after a channel number associated with the first video stream. The second video stream may be further identified as a video stream other than the video stream that was output prior to the output of the first video stream. The second video stream(s) may be selected from a list of favorite channels. The second video stream may be identified as a channel adjacent to the first video stream on the list of favorite channels. Where two video streams are identified, the second video streams may be identified as the preceding and subsequent channels adjacent to the first video stream on the list of favorite channels.
There is further provided a computer-readable medium, carrying instructions, which, when executed by computer logic, causes said computer logic to carry out any of the methods defined herein.
There is further still provided a computer-readable storage medium, storing instructions, which, when executed by computer logic, causes said computer logic to carry out any of the methods defined herein. The computer program product may be in the form of a non-volatile memory or volatile memory, e.g. an EEPROM (Electrically Erasable Programmable Read-only Memory), a flash memory, a disk drive or a RAM (Random-access memory).
Brief description of the drawings
A method and device for streaming video will now be described, by way of example only, with reference to the accompanying drawings, in which:
Figure 1 illustrates the stream switching on a client STB;
Figure 2 illustrates the stream switching by an alternate client STB; Figure 3 illustrates a method described herein;
Figure 4 shows a prediction process for the most likely next channel to be selected; and
Figure 5 illustrates an apparatus for performing the methods described herein. Detailed description
The channel change time can be greatly improved by causing the client, such as an STB, to join and buffer low bitrate versions of the next predicted channel that will be zapped in to by the user. In this way the streams will be ready to view almost instantly when the user selects that channel, albeit at a lower quality. The streams are typically delivered by adaptive streaming, so low quality versions of the streams are ready available from adaptive streaming. Since the low bit rate version of an adaptive stream, the system does not increase the bandwidth needed by a significant amount. And importantly, the system is not subject to sudden spikes in demand for bandwidth usage in the event that that a large proportion of users try to change channel at the same time.
When a user is switching channels there are numerous different ways to predict what the next stream he will join is. One of the simplest is that if a user is pressing channel up, that also the next switch will be channel up.
Therefore it should be quite useful to buffer the one after the one user just joined. This is a simple zapping direction prediction. A further simple example is where the user is switching between two
channels. If a user switches from a first channel to a second channel, then back to the first channel, it should be useful to buffer the second channel for future use. This is a prediction based on switching between a subset of channels.
The prediction of the next channel may be based on user action other than the preceding channel selection procedure. For example, where there are more than 10 channels available, the user needs to enter two digits to select a particular channel. If the user types in numbers to watch a new channel, the first number can be used to predict which channel the user will be switching to and so which channel should be received at low quality for buffering. For example, if the client is outputting channel 1 , then receives an input of key press 4, it is possible that channel 04 is being selected, so the client would start buffering 04. However, the user might input a further digit to select channel 4x where x is 0-9. So upon receiving input of key press "4" the client could buffer all 1 1 channels (04, 40, 41 , 42, 43, 44, 45, 46, 47, 48, 49). This would be feasible if particularly low bitrate versions of the channels were used. Alternatively, the client could determine which of these 1 1 channels is most likely to be selected and begin buffering of low quality versions of the most probable. The most probable channels may be selected by what channels are frequently joined by that client or by what is most popular on the network. More than one predicted next channel may be received at low quality in addition to the currently shown high quality channel. Different rules and algorithms may be used to select which are the most likely predicted next channels. The channel predictions may change according to how much time has elapsed since the last channel change was made. Further channel predictions may change according to the time of day. Channel change history of the client or user account on the client may be used to refine the channel predictions.
The low bitrate streams are one version of the so called ABR (adaptive bitrate streams), those have all the same parameters as the original high quality streams except they have much lower quality and so have a much lower bitrate, requiring less bandwidth. These streams do not cost too much extra bandwidth in the network. The streams may be in all other sense similar, so magic streams here with only l-frames are not required. This advantageously reduces the computation required at the server.
Figure 1 illustrates the stream switching on a client STB. A first video stream 1 10 is being shown at high quality on a display 180. A receiver of the STB receives both the first video stream at high quality 1 10 and a second video stream at low quality 125. The second video stream is an auxiliary stream and has been identified as the most likely next channel to be selected. The above state is illustrated in figure 1 a, which shows the buffer 100 of the STB and the relative size of the buffered streams (the high quality stream takes up more buffer space than the low quality stream). In this state, the buffered first video stream at high quality 1 10 is output to the display 180; and the buffered second video stream at low quality 125 is discarded, or trashed.
The STB then receives an instruction to display the second video stream, this instruction may take the form of a channel selection by a user. This state is illustrated in figure 1 b. Now the output of the buffer immediately switches from the first video stream at high quality 1 10 to the second video stream at low quality 125; and the buffered first video stream is now discarded.
At the time of receiving the selection of the second video stream the STB requests an update of the streams it receives. Such a request may take the form of an IGMP message. Further, the STB identifies a new most likely next selected channel, which is in this case a third video stream. The STB thus updates the streams it receives to include the second video stream at high quality 120 and the third video stream at low quality 135. The low quality version of the second video stream is output to the display 180 until the streams have been updated.
The updated streaming state is illustrated in figure 1 c. Buffer 100 now contains the second video stream at high quality 120 and the third video stream at low quality 135. The third video stream at low quality 135 is discarded. The second video stream at high quality 120 is output to the display 180.
Accordingly, if a channel change selection is made for a channel that was identified as the most likely next selected channel, then the channel change may be performed near instantly to the buffered low quality version of that channel. The low quality version of the channel is shown until the high quality version is received and may be output. Figure 2 illustrates the stream switching by an alternate client STB, where two auxiliary streams may be received and buffered. A second video stream 220 is being shown at high quality on a display 280. A receiver of the STB receives not only this second video stream at high quality 220 but also a first and third video stream both at low quality 215, 235. The first and third video streams have been identified as the two most likely channels to be selected next.
The above state is illustrated in figure 2a, which shows the buffer 200 of the STB and the relative size of the buffered streams (a high quality stream takes up more buffer space than a low quality stream). In this state, the buffered second video stream at high quality 220 is output to the display 280; and the buffered first and third video streams at low quality 215, 235 are discarded, or trashed.
The STB then receives an instruction to display the third video stream. This state is illustrated in figure 2b. Now the output of the buffer immediately switches from the second video stream at high quality 220 to the third video stream at low quality 235. The buffered first and second video streams 215, 220 are now discarded.
At the time of receiving the selection of the third video stream, the STB identifies two new most likely next selected channels, which in this case are the previously output second video stream and a fourth video stream. The STB then requests an update of the streams it receives. Such a request may take the form of an IGMP message. The STB thus requests an update of the streams it receives to include the third video stream at high quality 230 and the second and fourth video streams at low quality 225, 245. The low quality version of the third video stream 235 is output from the buffer 200 to the display 180 until the streams have been updated.
The updated streaming state is illustrated in figure 2c. Buffer 200 now contains the third video stream at high quality 230 and the second and fourth video stream at low quality 225, 245. The second and fourth video streams at low quality 225, 245 are discarded from the buffer 200. The third video at high quality 230 is output to the display 280.
Accordingly, if a channel change selection is made for one of the channels that were identified as the most likely next selected channels, then the channel change may be performed near instantly to the buffered low quality version of that channel. The low quality version of the channel is shown until the high quality version is received and may be output. The method described herein is illustrated at figure 3. At 310 a first video stream is received at a receiver and output to a display. At 320, at least one auxiliary stream is received, in this case a second video stream. The auxiliary streams are identified as the streams most likely to be next selected. In this example only one auxiliary stream is used. A low quality version of the second video stream is received and buffered, this may be the lowest bitrate version of the available adaptive bitrate versions, or it may simply be of lower quality than the first video stream.
At 330, a user channel change command is received, which in this case is a selection of the second video stream. In response to this selection, at 340 the buffered second video stream at low quality is output to the display. At the same time the receiver may request streams to reflect the channel selection. Such a stream updating will at least comprise requesting the second video stream at higher quality, as shown at 350.
Figure 4 is a flow diagram outlining the most likely next channel to be selected prediction process. The process begins at 410 with the receipt of an initiator that triggers the channel prediction process. The trigger may be received from a timer 412, which ensures the prediction process is run periodically, or the trigger may be a channel selection input 415 received from a user input device. At 420 a prediction of the most likely next channels to be selected is performed. This prediction may use any appropriate algorithm, including those disclosed herein by way of example. Inputs to the next channel prediction process may include the most recently received channel selection 415, and the channel selection history 425. At 430 it is determined whether or not the predicted next channels have changed. If the prediction initiator was the timer then it is possible that the predicted next channels will not have changed, and if this is the case the process returns to 410. If the predicted next channels have changed, then the channels that are streamed at low quality are updated 440. The channel that is streamed at high quality may also be updated at 440, particularly where the channel prediction process is initiated by a channel selection 415. Figure 5 illustrates an apparatus for performing the methods described herein. The apparatus of figure 5 may reside within a set top box (STB). At least one input 510 receives video streams 517 and channel selections 515. One input 510 is shown as receiving both video streams 517 and channel selections 515; however, these may be received via separate inputs. A processor 520 receives information from input 510. Further, the processor 520 is arranged to receive instructions which, when executed, causes the processor 520 to carry out the above described methods. The instructions may be stored on a memory 525. The processor is arranged to communicate via at least one output 530, which may include outputting a decoded video stream to a display 580.
It will be apparent to the skilled person that the exact order and content of the actions carried out in the method described herein may be altered according to the requirements of a particular set of execution parameters. Accordingly, the order in which actions are described and/or claimed is not to be construed as a strict limitation on order in which actions are to be performed.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word "comprising" does not exclude the presence of elements or steps other than those listed in a claim, "a" or "an" does not exclude a plurality, and a single processor or other unit may fulfill the functions of several units recited in the claims. Any reference signs in the claims shall not be construed so as to limit their scope
While examples have been given in the context of Adaptive Streaming, these examples are not intended to be the limit of streaming system to which the disclosed method and apparatus may be applied. The principles disclosed herein can be applied to any streaming system which uses a description file. For example, this method and apparatus may be applied to Apple™ Live Streaming, and Microsoft™ Smooth Streaming.
Further, while examples have been given in the context of particular communications standards, these examples are not intended to be the limit of the communications standards to which the disclosed method and apparatus may be applied. For example, while specific examples have been given in the context of IGMP, the principles disclosed herein can also be applied to any IPTV system.

Claims

Claims
1 . A method, in a video device, for streaming video, the method comprising:
receiving and outputting first video stream at a first quality;
receiving a second video stream which may be selected, the second video stream received at a second quality, the second quality a lower quality than the first quality;
receiving a selection of the second video stream, and in response thereto:
outputting the second video stream at the second quality; requesting the second video stream at a third quality, the third quality a higher quality than the second quality.
2. The method of claim 1 , further comprising receiving and outputting the second video at the third quality.
3. The method of claim 1 or 2 further comprising, identifying a second video stream which may be selected, the identification made prior to the receipt of or the selection of the second video stream.
4. The method of claim 3, wherein the second video stream is identified as a video stream associated with a channel number adjacent to a channel number associated with the first video stream.
5. The method of any preceding claim, wherein a plurality of second video streams is received, and a selection of one of the second video streams is received.
6. The method of any preceding claim, the method further comprising decoding a received video stream prior to its output.
7. A video device, for streaming video, the video device comprising:
a first input for receiving a first video stream at a first quality and a second video stream which may be selected, the second video stream received at a second quality, the second quality a lower quality than the first quality;
an output for outputting a first video stream at a first quality;
a second input for receiving a selection of the second video stream, and in response thereto:
outputting from the output the second video stream at the second quality; and
requesting at the first input the second video stream at a third quality, the third quality a higher quality than the second quality.
8. The video device of claim 7, wherein the output is further arranged to output the second video at the third quality.
9. The video device of claims 7 or 8, wherein the first input is arranged to receive a plurality of second video streams, and wherein the second input is arranged to receive a selection of one of the second video streams.
10. The video device of claims 7, 8 or 9, the video device further
comprising a processor for decoding at least one video stream, wherein the output is arranged to output a decoded video stream.
1 1 . The video device of any of claims 7 to 10, the video device further comprising a processor arranged to identify at least one second video stream which may be selected, the identification made prior to the receipt of or the selection of the second video stream.
12. The video device of claim 1 1 , wherein the processor identifies as the second video stream a video stream that is associated with a channel number adjacent to a channel number associated with the first video stream.
13. The video device of claim 1 1 , wherein the processor identifies as the at least two second video streams the video stream that are associated with channel numbers immediately before and immediately after a channel number associated with the first video stream.
14. A computer-readable medium, carrying instructions, which, when executed by computer logic, causes said computer logic to carry out any of the methods defined by claims 1 to 6.
PCT/EP2012/071519 2012-10-30 2012-10-30 Method and device for streaming video WO2014067566A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2012/071519 WO2014067566A1 (en) 2012-10-30 2012-10-30 Method and device for streaming video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2012/071519 WO2014067566A1 (en) 2012-10-30 2012-10-30 Method and device for streaming video

Publications (1)

Publication Number Publication Date
WO2014067566A1 true WO2014067566A1 (en) 2014-05-08

Family

ID=47088891

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/071519 WO2014067566A1 (en) 2012-10-30 2012-10-30 Method and device for streaming video

Country Status (1)

Country Link
WO (1) WO2014067566A1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018005835A1 (en) * 2016-07-01 2018-01-04 Vid Scale, Inc. Systems and methods for fast channel change
CN107852519A (en) * 2015-07-07 2018-03-27 三星电子株式会社 Method and apparatus for providing Video service in a communications system
EP3376770A4 (en) * 2015-11-11 2018-11-14 Sony Corporation Communication device
US10743070B2 (en) 2017-12-01 2020-08-11 At&T Intellectual Property I, L.P. Fast channel change for a set top box based on channel viewing behaviors
US10956766B2 (en) 2016-05-13 2021-03-23 Vid Scale, Inc. Bit depth remapping based on viewing parameters
US20210400326A1 (en) * 2020-06-18 2021-12-23 Orange Method for managing the reading of a digital content item within a multimedia content reader terminal connected to a rendering device
US11272237B2 (en) 2017-03-07 2022-03-08 Interdigital Madison Patent Holdings, Sas Tailored video streaming for multi-device presentations
EP3985489A1 (en) * 2015-09-22 2022-04-20 Facebook, Inc. Systems and methods for content streaming
US11503314B2 (en) 2016-07-08 2022-11-15 Interdigital Madison Patent Holdings, Sas Systems and methods for region-of-interest tone remapping
US11765406B2 (en) 2017-02-17 2023-09-19 Interdigital Madison Patent Holdings, Sas Systems and methods for selective object-of-interest zooming in streaming video
US11765150B2 (en) 2013-07-25 2023-09-19 Convida Wireless, Llc End-to-end M2M service layer sessions
US11871451B2 (en) 2018-09-27 2024-01-09 Interdigital Patent Holdings, Inc. Sub-band operations in unlicensed spectrums of new radio
US11877308B2 (en) 2016-11-03 2024-01-16 Interdigital Patent Holdings, Inc. Frame structure in NR

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009095080A1 (en) * 2008-01-31 2009-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for obtaining media over a communications network
US20120131627A1 (en) * 2010-11-22 2012-05-24 Sling Media Pvt Ltd Systems, methods and devices to reduce change latency in placeshifted media streams using predictive secondary streaming

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009095080A1 (en) * 2008-01-31 2009-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for obtaining media over a communications network
US20120131627A1 (en) * 2010-11-22 2012-05-24 Sling Media Pvt Ltd Systems, methods and devices to reduce change latency in placeshifted media streams using predictive secondary streaming

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AHMAD M Z ET AL: "Prediction-based channel zapping latency reduction techniques for IPTV systems â A survey", EMERGING TECHNOLOGIES, 2009. ICET 2009. INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 19 October 2009 (2009-10-19), pages 466 - 470, XP031580161, ISBN: 978-1-4244-5630-7 *
CHAE YOUNG LEE ET AL: "Reducing Channel Zapping Time in IPTV Based on User's Channel Selection Behaviors", IEEE TRANSACTIONS ON BROADCASTING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 56, no. 3, 1 September 2010 (2010-09-01), pages 321 - 330, XP011312107, ISSN: 0018-9316 *
SUMAN KALYAN MANDAL ET AL.: "Intelligent Pre-fetching to Reduce ChannelSwitching Delay in IPTV Systems", XP002699241, Retrieved from the Internet <URL:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.114.8467> [retrieved on 20130621] *
YONGHEE LEE ET AL: "Reducing IPTV channel switching time using H.264 scalable video coding", IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 54, no. 2, 1 May 2008 (2008-05-01), pages 912 - 919, XP011229983, ISSN: 0098-3063, DOI: 10.1109/TCE.2008.4560178 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11765150B2 (en) 2013-07-25 2023-09-19 Convida Wireless, Llc End-to-end M2M service layer sessions
CN107852519A (en) * 2015-07-07 2018-03-27 三星电子株式会社 Method and apparatus for providing Video service in a communications system
EP3320687A4 (en) * 2015-07-07 2018-10-10 Samsung Electronics Co., Ltd. Method and apparatus for providing video service in communication system
US10440070B2 (en) 2015-07-07 2019-10-08 Samsung Electronics Co., Ltd. Method and apparatus for providing video service in communication system
CN107852519B (en) * 2015-07-07 2020-12-01 三星电子株式会社 Method and apparatus for providing video service in communication system
EP3985489A1 (en) * 2015-09-22 2022-04-20 Facebook, Inc. Systems and methods for content streaming
EP3376770A4 (en) * 2015-11-11 2018-11-14 Sony Corporation Communication device
US10956766B2 (en) 2016-05-13 2021-03-23 Vid Scale, Inc. Bit depth remapping based on viewing parameters
WO2018005835A1 (en) * 2016-07-01 2018-01-04 Vid Scale, Inc. Systems and methods for fast channel change
US11949891B2 (en) 2016-07-08 2024-04-02 Interdigital Madison Patent Holdings, Sas Systems and methods for region-of-interest tone remapping
US11503314B2 (en) 2016-07-08 2022-11-15 Interdigital Madison Patent Holdings, Sas Systems and methods for region-of-interest tone remapping
US11877308B2 (en) 2016-11-03 2024-01-16 Interdigital Patent Holdings, Inc. Frame structure in NR
US11765406B2 (en) 2017-02-17 2023-09-19 Interdigital Madison Patent Holdings, Sas Systems and methods for selective object-of-interest zooming in streaming video
US11272237B2 (en) 2017-03-07 2022-03-08 Interdigital Madison Patent Holdings, Sas Tailored video streaming for multi-device presentations
US10743070B2 (en) 2017-12-01 2020-08-11 At&T Intellectual Property I, L.P. Fast channel change for a set top box based on channel viewing behaviors
US11871451B2 (en) 2018-09-27 2024-01-09 Interdigital Patent Holdings, Inc. Sub-band operations in unlicensed spectrums of new radio
US11792461B2 (en) * 2020-06-18 2023-10-17 Orange Method for managing the reading of a digital content item within a multimedia content reader terminal connected to a rendering device
US20210400326A1 (en) * 2020-06-18 2021-12-23 Orange Method for managing the reading of a digital content item within a multimedia content reader terminal connected to a rendering device

Similar Documents

Publication Publication Date Title
WO2014067566A1 (en) Method and device for streaming video
US8135040B2 (en) Accelerated channel change
US8826349B2 (en) Multicast adaptive stream switching for delivery of over the top video content
US7523482B2 (en) Seamless digital channel changing
EP1867163B1 (en) Fast channel change with conditional return to multicasting
US8539525B2 (en) Method and apparatus in a media player
US20080109557A1 (en) Method and system for reducing switching delays between digital video feeds using personalized unicast transmission techniques
US8533760B1 (en) Reduced latency channel switching for IPTV
US20110289544A1 (en) Video streaming system including a fast channel change mechanism
CN102177691A (en) Systems and methods of reducing media stream delay
US8732327B2 (en) Methods and arrangements for system providing media via multicast distribution
US10491964B2 (en) Assisted acceleration for video streaming clients
US8856282B2 (en) Channel server, channel prediction server, terminal, and method for fast channel switching using plurality of multicasts interoperating with program rating prediction
US20080307457A1 (en) Channel switching method and method and apparatus for implementing the method
JP2010514334A (en) Method and node in an IPTV network
US20120144442A1 (en) Residential gateway and method for reducing channel zapping time
US8316108B2 (en) Method and apparatus for obtaining media over a communications network
EP3772220A1 (en) Methods and systems for low latency streaming
KR101314615B1 (en) Method for transmitting a digital broadcasting and apprartus for the same, method for receiveing a digital broadcasting and apparatus for the same, and method for digital broadcasting service and apparatus for the same
WO2009095080A1 (en) Method and apparatus for obtaining media over a communications network
US9215396B2 (en) Faster access to television channels
WO2010065320A2 (en) Accelerating channel change time with external picture property markings
US20110289543A1 (en) Video streaming system including a fast channel change mechanism
WO2009095081A1 (en) Method and apparatus for obtaining media over a communications network
WO2009080114A1 (en) Method and apparatus for distributing media over a communications network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12779071

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12779071

Country of ref document: EP

Kind code of ref document: A1