WO2014167168A1 - Adaptive streaming of media content - Google Patents

Adaptive streaming of media content Download PDF

Info

Publication number
WO2014167168A1
WO2014167168A1 PCT/FI2013/050389 FI2013050389W WO2014167168A1 WO 2014167168 A1 WO2014167168 A1 WO 2014167168A1 FI 2013050389 W FI2013050389 W FI 2013050389W WO 2014167168 A1 WO2014167168 A1 WO 2014167168A1
Authority
WO
WIPO (PCT)
Prior art keywords
media content
media
file
segments
channels
Prior art date
Application number
PCT/FI2013/050389
Other languages
French (fr)
Inventor
Tommi KETOLA
Original Assignee
Teleste Oyj
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 Teleste Oyj filed Critical Teleste Oyj
Priority to PCT/FI2013/050389 priority Critical patent/WO2014167168A1/en
Publication of WO2014167168A1 publication Critical patent/WO2014167168A1/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Definitions

  • the present invention relates to adaptive streaming of media content, and more particularly to switching media channels in adaptive streaming.
  • a method according to the invention comprises streaming media content of a variety of media channels using HTTP-based adaptive streaming; and uploading one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal.
  • the files are arranged in a multicast protocol, said multicast protocol comprising data structures for distinguishing the segments of the media content from each other and for identifying the network addresses of the media content of the media channel included in the media content file.
  • the multicast protocol comprising data structures for assigning a checksum to each file for detecting errors in transmission.
  • the at least one media content file comprises segments of the media content from a sub-group of all media channels.
  • the method further comprises encoding the segments of the media content in said at least one media content file with a lower bitrate than used in streaming said media content.
  • said file comprising metadata of media content is a manifest file comprising network addresses of the media content of the media channels included in said media content file.
  • a media content delivery system comprising at least a stream controller and a media streamer, wherein the stream controller is arranged to control the media streamer to stream media content of a variety of media channels using HTTP-based adaptive streaming; and the stream controller is arranged to control the media streamer to upload one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal.
  • an apparatus comprising a communication interface for receiving media content of a variety of media channels using HTTP-based adaptive streaming, and for receiving one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal; a memory for storing said files at least temporarily; the apparatus being arranged to, upon detecting a user command for switching to another media channel, retrieve a segment of the media content of said media channel from the memory; and start a playback of said media channel from the segment of the media content retrieved from the memory.
  • FIG. 1 shows a media-on-demand system according to an embodiment in a reduced block chart
  • Fig. 3 shows an example of a client terminal display view according to an embodiment of the invention.
  • HTTP-based adaptive streaming such as Apple® HTTP Live Streaming (HLS) or Microsoft® Smooth Streaming
  • HLS HTTP Live Streaming
  • Microsoft® Smooth Streaming of television services
  • the driver for this trend is compatibility with smartphone and tablet devices.
  • adaptive streaming also with set-top-boxes, network operators may aim to standardise towards one transport technology.
  • FIG. 1 illustrates an example system in which embodiments of the invention can be implemented.
  • the system includes a client terminal 100 arranged to receive streaming video content from a media streamer 102 via a router 104. The operations of the media streamer 102 are controlled by a stream controller 106.
  • the system further includes one or more video content sources 108 from where video content and data may be delivered to any number of various devices via a communication network 1 10. Any of the services and devices can communicate via the communication network 1 10, which can be implemented to include a wired or a wireless network.
  • the communication network 1 10 can also be implemented using any type of network topology or communication protocol and can be represented or otherwise implemented as a combination of two or more networks to include IP-based networks or the Internet.
  • the communication network 1 10 may also include mobile operator networks.
  • the one or more video content sources 108 may include video content servers 1 12 arranged to distribute video content 1 14 to the media streamer 102, such as streaming live television that is distributed via a coaxial cable system.
  • the streaming video content 1 14 may include any type of audio, video, or image data in the form of television programming, movies, on-demand video, interactive games, advertisements, and the like.
  • the media streamer 102 receives the streaming video content from the video content sources 108, and an HTTP server 1 16 is implemented to communicate the streaming video content, such as live television, to the client terminal 100 via the router 104.
  • the media streamer 102 includes a memory 1 18 that can be implemented as a buffer for buffered video segments of the streaming video content.
  • the client terminal 100 may be, for example, a television set, a set-top box, a mobile phone, a smart phone, an Internet access device (Internet tablet), a personal computer of various size and format, a video decoder or a video player or any other device that can be configured to receive and playback video content.
  • the client terminal 100 may include a video rendering system to playback video content for viewing on a display.
  • the client terminal 100 may also include various client applications, such as a media player, for managing the video content playback and communication with the media streamer 102. Additionally, the client terminal 100 may comprise functionality for using the HTTP protocol to communicate with the media streamer 102 to query a list of television channels and initiate tuning to a channel of streaming video content.
  • a video segment of one-second video content may include about 30 frames.
  • approximately ten video segments are first buffered in the memory 1 14 of the media streamer 102 and listed in the content manifest file before the video content is downloaded to the client terminal 100.
  • the client terminal 100 must wait for ten seconds for receiving the buffered video segments and the manifest file.
  • the content buffering latency may vary with different devices and manufacturers, but nevertheless the delay between the channel change request and starting to render the requested video content at the client device is of order of several seconds. In heavily loaded networks the content buffering latency may extend to e.g. 7 - 12 seconds. Such a delay is especially problematic when viewing live channels from television, where switching between the channels is expected to happen with a minimal delay.
  • the delay can be significantly reduced in a typical channel switch situation by preloading the manifest/playlist files and video content of at least a sub-group of channels, possibly of all channels to a cache memory of the client device.
  • this is achieved by a method comprising streaming media content of a variety of media channels using HTTP-based adaptive streaming, and uploading one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal.
  • the uploading is carried out by multicasting the one or more metadata file and the at least one media content file to a plurality of client terminals.
  • the metadata file(s) and the media content file are multicast simultaneously to all client terminals in the particular network segment.
  • this will reduce the network and the media streamer (server) loads significantly.
  • the at least one media content file may comprise segments of the media content only from a sub-group of all media channels.
  • the network operator may, for example, determine the most popular media channels and include the media content of 2, 3, 4, 5 or more of the most popular media channels in the at least one media content file.
  • the at least one media content file may comprise segments of the media content from all media channels. Especially, if the number of the media channels in the system is moderate compared to the available bandwidth, segments of the media content from all media channels may be delivered in the media content file.
  • the one or more files comprising metadata of media content is a playlist file or a manifest file comprising network addresses of the media content of the media channels included in said media content file.
  • the client terminals are aware of URL addresses of the media channels contained in the media content file, and when a channel change request is made, the client terminal may start to render the segment of media content of the requested channel from the cache, but also immediately initiate streaming the requested channel.
  • the client terminal may switch from cache memory playback of lower quality media content to the actual network streaming.
  • Television channels are delivered within a bandwidth range of 1.5 Mbps to 5 Mbps per TV channel
  • Client terminals buffer video for maximum of 30 seconds
  • the users typically zap between 32 prime channels
  • the multicast protocol may be implemented as a simple multicast file transfer protocol, which does not have to support re-transmission or error corrections.
  • the multicast file transfer protocol may comprise data structures for distinguishing the segments of the media content from each other and data structures for identifying the original network address, such as the URL of each segments of the media content.
  • the multicast file transfer protocol may further comprise data structures for assigning a checksum to each file for detecting errors in transmission. If a fault checksum is detected in the client terminal, the client terminal is arranged to ignore the file, and in case of a channel change request the client terminal would use the on-demand loading according to prior art.
  • one or more channels may be reserved for the multicast delivery.
  • the metadata file and the at least one media content file are transmitted on one or more dedicated media channels. This may be an advantageous approach especially in DOCSIS-based DVB networks, where adjusting the bandwidth of the network for the multicast comprising the metadata file and the at least one media content file would otherwise be more difficult.
  • the invention can be implemented both in DVB networks and in IP (Internet Protocol) networks utilising the IP-specific version of the multicast networking, i.e. IP multicast, for sending IP datagram-based streams to a group of receivers in a single transmission. It is, however, noted that the invention can be implemented in any other distribution network capable of implementing the features of the invention.
  • a simplified structure of a client terminal device is illustrated in a block chart of Figure 2.
  • a set top box is shown in Figure 2, but it is to be noted that it is merely a representative of various electronic devices with an internal controller used as a content receiving device.
  • the client terminal 200 may be, for example, a television set, a mobile phone, a smart phone, an Internet access device (Internet tablet), a personal computer of various size and format, a video decoder or a video player.
  • the client terminal 200 comprises one or more network interfaces 202 for receiving (RX) media streams from the media streamer.
  • the client terminal 200 comprises one or more network interfaces 202 for transmitting (TX) orders and messages to the media streamer.
  • the network interfaces 602 may include a fixed connection to the DVB network or to the internet, a wireless connection to the DVB network or the internet, a fixed connection to the mobile network, or a wireless connection to the mobile network.
  • the network interfaces may be in accordance of a WiFi, WiMax, WiMax mobile, wireless, cellular, or other types of communication systems.
  • the network interfaces may use various protocols for communication therethrough including, but not limited to, hypertext transfer protocol (HTTP).
  • HTTP hypertext transfer protocol
  • a controller 204 is used to coordinate and control the various functions of the client device. These functions may include at least a tuner 206, a demodulator 208, one or more decoders 210, one or more memories 212 and a user interface (Ul) 214 management functions.
  • the controller 204 may be a general-purpose processor, such as a microprocessor, that cooperates with control software.
  • the tuner 206 receives the signal or data from an individual media stream.
  • the tuner may receive television programming content, program guide data or other types of data.
  • the demodulator 208 demodulates the signal or data to form a demodulated signal or data.
  • the decoder 210 decodes the demodulated signal to form decoded data or a decoded signal.
  • the controller 204 is in communication with the memory 212.
  • the memory 212 is illustrated as a single box, but actually there may be a plurality of different types of memory including the hard drive, a flash drive and various other types of memory.
  • the memory 212 may comprise other types of memory or sections of different types of memory.
  • the memory 212 may be non-volatile memory or volatile memory.
  • the memory 212 may also include a digital video recorder (DVR).
  • the digital video recorder may be a hard drive, flash drive, or other memory device.
  • a record of the content stored in the digital video recorder, i.e. a playlist, may be stored in the DVR or a separate memory.
  • the apparatus is arranged to, upon detecting the user command for switching to said media channel, retrieve a network address of the media content of said media channel from said metadata, and initiate streaming of the media content of said media channel from said network address.
  • the apparatus is arranged to, upon receiving the streamed media content of said media channel from the network, stop the playback of said media channel from the segment of the media content retrieved from the memory, and continue the playback from the streamed media content of said media channel.
  • the client terminal retrieves the segment of media content of the requested channel from the cache and start to display the content, but also immediately initiates streaming the requested channel.
  • the channel change delay of about 10 seconds is reduced to a minimal decoding delay.
  • the client terminal may stop the cache memory playback and switch to the actual network streaming.
  • the apparatus may be arranged to receive the metadata files and the media content files arranged in a multicast protocol comprising data structures for distinguishing the segments of the media content from each other and for identifying the network addresses of the media content of the media channel included in the media content file.
  • client terminals capable of interpreting the multicast protocol may implement the fast channel switch.
  • client terminals not capable of interpreting the multicast protocol may still exist in the same system; they just are not capable of implementing the fast channel switch.
  • the apparatus may be arranged to, upon detecting a fault checksum for a file, ignore said file. The apparatus may delete said file, refrain from storing said file or just ignore the information of said file.
  • the apparatus may send a channel change request to the media streamer 102 in the network and request the media content of the new media channel to be delivered as in the prior art, i.e. with a delay of about 10 seconds.
  • the apparatus may comprise at least two decoders for decoding the media content.
  • the user may be provided with a display view of the decoded channels.
  • at least one further media channel is decoded and shown, e.g. in a miniaturised frame, on the display.
  • Figure 3 shows an example, how picture-in-picture application may be utilised in showing, in addition to the currently shown media channel, a plurality of other media channels X, X+1 , X+2, X+3, ....
  • the user may be provided with an option browse the content of the other channels while keeping the currently shown media channel on the major part of the display.
  • the stream controller 106 plays a significant role in the above system.
  • the stream controller may be implemented as a separate network element.
  • the stream controller may be a functional unit implemented together with one or more functional units within a common network element.
  • the operations of the stream controller may be implemented as software components residing on one network element or distributed across several network elements. Consequently, the network elements contain memory, one or more processors, and computer program code residing in the memory for implementing the operations of the stream controller.
  • any of the embodiments described above may be implemented as a combination with one or more of the other embodiments, unless there is explicitly or implicitly stated that certain embodiments are only alternatives to each other.
  • a client terminal device may comprise circuitry and electronics for handling, receiving and transmitting data, computer program code in a memory, and a processor that, when running the computer program code, causes the terminal device to carry out the features of an embodiment.
  • a network device may comprise circuitry and electronics for handling, receiving and transmitting data, computer program code in a memory, and a processor that, when running the computer program code, causes the network device to carry out the features of an embodiment.
  • the various devices may be or may comprise encoders, decoders and transcoders, packetizers and depacketizers, and transmitters and receivers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method comprising: streaming media content of a variety of media channels using HTTP-based adaptive streaming; and uploading one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal.

Description

ADAPTIVE STREAMING OF MEDIA CONTENT
Field of the invention
The present invention relates to adaptive streaming of media content, and more particularly to switching media channels in adaptive streaming.
Background of the invention
Watching media content has during recent years evolved into many different forms of viewing media content on many different devices. For example, users can watch television content, such as live television, recorded television, and time-shifted programs, movies and other media, on various devices, such as televisions, display devices, entertainment devices, computers, and even mobile devices, such as tablets and mobile phones. However, media content that is viewed on a mobile device, such as a tablet or smartphone, is primarily content that is either stored on the device or already recorded content that can be streamed to the device without interruption.
HTTP-based adaptive streaming of such media content services has become more popular, since it facilitates to achieve compatibility with smartphone and tablet devices. However, the HTTP-based adaptive streaming according to prior art has technical shortcomings, especially when switching channels between live media content channels on a client device. When a user switches channels, he/she has to wait until video data for a new channel are acquired, processed, and buffered to begin playback on the client device. This content buffering latency is of order of about 10 seconds. Most television viewers have an expectation of instant channel changes, and therefore such delays may provide an unsatisfactory user experience.
Summary of the invention
Now there has been invented an improved method and technical equipment implementing the method, by which a faster channel switch is possible. Various aspects of the invention include a method, a system, an apparatus and a computer program, which are characterized by what is stated in the independent claims. Various embodiments of the invention are disclosed in the dependent claims.
According to a first aspect, a method according to the invention comprises streaming media content of a variety of media channels using HTTP-based adaptive streaming; and uploading one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal.
According to an embodiment, the uploading comprises multicasting the one or more files comprising metadata of media content in distribution and the at least one media content file comprising segments of the media content for a plurality of the media channels to a plurality of client terminals.
According to an embodiment, the files are arranged in a multicast protocol, said multicast protocol comprising data structures for distinguishing the segments of the media content from each other and for identifying the network addresses of the media content of the media channel included in the media content file.
According to an embodiment, the multicast protocol comprising data structures for assigning a checksum to each file for detecting errors in transmission.
According to an embodiment, the at least one media content file comprises segments of the media content from a sub-group of all media channels.
According to an embodiment, the at least one media content file comprises segments of the media content from all media channels.
According to an embodiment, the method further comprises encoding the segments of the media content in said at least one media content file with a lower bitrate than used in streaming said media content. According to an embodiment, said file comprising metadata of media content is a manifest file comprising network addresses of the media content of the media channels included in said media content file. According to a second aspect, there is provided a media content delivery system comprising at least a stream controller and a media streamer, wherein the stream controller is arranged to control the media streamer to stream media content of a variety of media channels using HTTP-based adaptive streaming; and the stream controller is arranged to control the media streamer to upload one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal. According to a third aspect, there is provided an apparatus comprising a communication interface for receiving media content of a variety of media channels using HTTP-based adaptive streaming, and for receiving one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal; a memory for storing said files at least temporarily; the apparatus being arranged to, upon detecting a user command for switching to another media channel, retrieve a segment of the media content of said media channel from the memory; and start a playback of said media channel from the segment of the media content retrieved from the memory.
These and other aspects of the invention and the embodiments related thereto will become apparent in view of the detailed disclosure of the embodiments further below.
List of drawings
In the following, various embodiments of the invention will be described in more detail with reference to the appended drawings, in which Fig. 1 shows a media-on-demand system according to an embodiment in a reduced block chart;
Fig. 2 shows a client terminal according to an embodiment
reduced block chart; and
Fig. 3 shows an example of a client terminal display view according to an embodiment of the invention.
Description of embodiments
HTTP-based adaptive streaming, such as Apple® HTTP Live Streaming (HLS) or Microsoft® Smooth Streaming, of television services is increasingly used, for example, in hospital environment, hotels and other closed IP networks. The driver for this trend is compatibility with smartphone and tablet devices. By using adaptive streaming also with set-top-boxes, network operators may aim to standardise towards one transport technology.
Figure 1 illustrates an example system in which embodiments of the invention can be implemented. The system includes a client terminal 100 arranged to receive streaming video content from a media streamer 102 via a router 104. The operations of the media streamer 102 are controlled by a stream controller 106. The system further includes one or more video content sources 108 from where video content and data may be delivered to any number of various devices via a communication network 1 10. Any of the services and devices can communicate via the communication network 1 10, which can be implemented to include a wired or a wireless network. The communication network 1 10 can also be implemented using any type of network topology or communication protocol and can be represented or otherwise implemented as a combination of two or more networks to include IP-based networks or the Internet. The communication network 1 10 may also include mobile operator networks. The one or more video content sources 108 may include video content servers 1 12 arranged to distribute video content 1 14 to the media streamer 102, such as streaming live television that is distributed via a coaxial cable system. The streaming video content 1 14 may include any type of audio, video, or image data in the form of television programming, movies, on-demand video, interactive games, advertisements, and the like.
The media streamer 102 receives the streaming video content from the video content sources 108, and an HTTP server 1 16 is implemented to communicate the streaming video content, such as live television, to the client terminal 100 via the router 104. The media streamer 102 includes a memory 1 18 that can be implemented as a buffer for buffered video segments of the streaming video content.
The client terminal 100 may be, for example, a television set, a set-top box, a mobile phone, a smart phone, an Internet access device (Internet tablet), a personal computer of various size and format, a video decoder or a video player or any other device that can be configured to receive and playback video content. The client terminal 100 may include a video rendering system to playback video content for viewing on a display. The client terminal 100 may also include various client applications, such as a media player, for managing the video content playback and communication with the media streamer 102. Additionally, the client terminal 100 may comprise functionality for using the HTTP protocol to communicate with the media streamer 102 to query a list of television channels and initiate tuning to a channel of streaming video content. The media streamer 102 is arranged to transcode the video content into a format to be streamed to the client terminal 100. The media streamer 102 may include or be functionally connected to the stream controller 106 that can be implemented as computer- executable instructions, such as a software application, and executed by one or more processors to implement the various embodiments described herein. When HTTP-based adaptive streaming is used, the stream controller 102 controls the media streamer to organise the streaming video content into an appropriate format, such as Apple® HTTP Live Streaming (HLS) or Microsoft® Smooth Streaming. The stream controller 106 is arranged to control the live television playback when a television channel change input is received. In the approach according to prior art, when a channel change input is received from the client terminal 100, a tuner at the media streamer 102 is tuned, and the transport for the selected television program is acquired from a video content source 108, decrypted, transcoded, segmented, and encrypted for streaming to the client terminal 100. If HTTP-based adaptive streaming is used, the video segments are listed in a content manifest file or a playlist file in the order of playback at the client terminal 100. Before playback of the video content begins at the client terminal 100 after a channel change has been initiated, a minimum number of the buffered video segments are typically buffered in the memory 1 18 of the media streamer 102 and identified in the content manifest file that correlates to the streaming video content.
A video segment of one-second video content may include about 30 frames. After a channel change request in a typical HTTP-based adaptive streaming system, approximately ten video segments are first buffered in the memory 1 14 of the media streamer 102 and listed in the content manifest file before the video content is downloaded to the client terminal 100. In other words, the client terminal 100 must wait for ten seconds for receiving the buffered video segments and the manifest file. The content buffering latency may vary with different devices and manufacturers, but nevertheless the delay between the channel change request and starting to render the requested video content at the client device is of order of several seconds. In heavily loaded networks the content buffering latency may extend to e.g. 7 - 12 seconds. Such a delay is especially problematic when viewing live channels from television, where switching between the channels is expected to happen with a minimal delay.
Now according to an embodiment, the delay can be significantly reduced in a typical channel switch situation by preloading the manifest/playlist files and video content of at least a sub-group of channels, possibly of all channels to a cache memory of the client device. Thus, from the viewpoint of the media streamer, this is achieved by a method comprising streaming media content of a variety of media channels using HTTP-based adaptive streaming, and uploading one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal.
According to an embodiment, the uploading is carried out by multicasting the one or more metadata file and the at least one media content file to a plurality of client terminals. Thus, instead of unicasting the metadata file to each client terminal as a response to a channel change request, the metadata file(s) and the media content file are multicast simultaneously to all client terminals in the particular network segment. When compared to unicast pre-loading, this will reduce the network and the media streamer (server) loads significantly.
According to an embodiment, the at least one media content file may comprise segments of the media content only from a sub-group of all media channels. The network operator may, for example, determine the most popular media channels and include the media content of 2, 3, 4, 5 or more of the most popular media channels in the at least one media content file. According to an alternative embodiment, the at least one media content file may comprise segments of the media content from all media channels. Especially, if the number of the media channels in the system is moderate compared to the available bandwidth, segments of the media content from all media channels may be delivered in the media content file.
According to an embodiment, the segments of the media content in said at least one media content file are encoded with a lower bitrate than used in streaming said media content. For example, in normal streaming the system may use 1080p, 1080i or 720p HDTV signal format, but the segments of the media content in the media content file may be encoded in 576i or 480i SDTV format. Thus, the bandwidth consumption may be reduced to one third, even to one fourth per media content.
According to an embodiment, the one or more files comprising metadata of media content is a playlist file or a manifest file comprising network addresses of the media content of the media channels included in said media content file. Thus, the client terminals are aware of URL addresses of the media channels contained in the media content file, and when a channel change request is made, the client terminal may start to render the segment of media content of the requested channel from the cache, but also immediately initiate streaming the requested channel. When the streaming from the network has started after a delay, the client terminal may switch from cache memory playback of lower quality media content to the actual network streaming.
The above embodiments may be illustrated by an example, where the calculations are based on the following assumptions for a typical hospital network:
- Gigabit Ethernet network is dedicated to video delivery
Television channels are delivered within a bandwidth range of 1.5 Mbps to 5 Mbps per TV channel
Client terminals buffer video for maximum of 30 seconds The users typically zap between 32 prime channels
In such a network, the multicast traffic comprising the metadata file and the media content file would use less than 5% of network capacity, and the uploaded data would consume 180MB of memory from the client device. The usage of the network capacity and/or memory of that level have no practical impact on the system's performance or cost.
The multicast protocol may be implemented as a simple multicast file transfer protocol, which does not have to support re-transmission or error corrections. The multicast file transfer protocol may comprise data structures for distinguishing the segments of the media content from each other and data structures for identifying the original network address, such as the URL of each segments of the media content. The multicast file transfer protocol may further comprise data structures for assigning a checksum to each file for detecting errors in transmission. If a fault checksum is detected in the client terminal, the client terminal is arranged to ignore the file, and in case of a channel change request the client terminal would use the on-demand loading according to prior art.
According to an embodiment, one or more channels may be reserved for the multicast delivery. Thus, the metadata file and the at least one media content file are transmitted on one or more dedicated media channels. This may be an advantageous approach especially in DOCSIS-based DVB networks, where adjusting the bandwidth of the network for the multicast comprising the metadata file and the at least one media content file would otherwise be more difficult.
The invention can be implemented both in DVB networks and in IP (Internet Protocol) networks utilising the IP-specific version of the multicast networking, i.e. IP multicast, for sending IP datagram-based streams to a group of receivers in a single transmission. It is, however, noted that the invention can be implemented in any other distribution network capable of implementing the features of the invention.
From the viewpoint of the client terminal, the advantages are obtained by a client terminal being arranged to receive media content of a variety of media channels using HTTP-based adaptive streaming, receive one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal and store said files in a memory of the client terminal at least temporarily, the apparatus being arranged to, upon detecting a user command for switching to another media channel, retrieve a segment of the media content of said media channel from the memory, and start a playback of said media channel from the segment of the media content retrieved from the memory.
A simplified structure of a client terminal device according to an embodiment is illustrated in a block chart of Figure 2. For illustration purposes, an exemplified configuration of a set top box is shown in Figure 2, but it is to be noted that it is merely a representative of various electronic devices with an internal controller used as a content receiving device. As mentioned above, instead of a set-top-box, the client terminal 200 may be, for example, a television set, a mobile phone, a smart phone, an Internet access device (Internet tablet), a personal computer of various size and format, a video decoder or a video player. The client terminal 200 comprises one or more network interfaces 202 for receiving (RX) media streams from the media streamer. The client terminal 200 comprises one or more network interfaces 202 for transmitting (TX) orders and messages to the media streamer. The network interfaces 602 may include a fixed connection to the DVB network or to the internet, a wireless connection to the DVB network or the internet, a fixed connection to the mobile network, or a wireless connection to the mobile network. The network interfaces may be in accordance of a WiFi, WiMax, WiMax mobile, wireless, cellular, or other types of communication systems. The network interfaces may use various protocols for communication therethrough including, but not limited to, hypertext transfer protocol (HTTP).
A controller 204 is used to coordinate and control the various functions of the client device. These functions may include at least a tuner 206, a demodulator 208, one or more decoders 210, one or more memories 212 and a user interface (Ul) 214 management functions. The controller 204 may be a general-purpose processor, such as a microprocessor, that cooperates with control software. The tuner 206 receives the signal or data from an individual media stream. The tuner may receive television programming content, program guide data or other types of data. The demodulator 208 demodulates the signal or data to form a demodulated signal or data. The decoder 210 decodes the demodulated signal to form decoded data or a decoded signal. These functions may be shared among multiple tuners, demodulators and decoders provided within a single client terminal. The controller 204 is in communication with the memory 212. The memory 212 is illustrated as a single box, but actually there may be a plurality of different types of memory including the hard drive, a flash drive and various other types of memory. The memory 212 may comprise other types of memory or sections of different types of memory. The memory 212 may be non-volatile memory or volatile memory. The memory 212 may also include a digital video recorder (DVR). The digital video recorder may be a hard drive, flash drive, or other memory device. A record of the content stored in the digital video recorder, i.e. a playlist, may be stored in the DVR or a separate memory. The user interface 214 may include a remote controller, a keyboard, push buttons, a touch screen, a voice activated interface or the like. The user interface 214 may be used to select a channel, select various information, change the volume, change the display appearance, or other functions. The client terminal may further comprise or be in a functional connection with a display 216 for displaying the media content.
According to an embodiment, the apparatus is arranged to, upon detecting the user command for switching to said media channel, retrieve a network address of the media content of said media channel from said metadata, and initiate streaming of the media content of said media channel from said network address.
According to an embodiment, the apparatus is arranged to, upon receiving the streamed media content of said media channel from the network, stop the playback of said media channel from the segment of the media content retrieved from the memory, and continue the playback from the streamed media content of said media channel. Thus, when the user of the client terminal makes a channel change request, for example by zapping channels with a remote control of client terminal, the client terminal retrieves the segment of media content of the requested channel from the cache and start to display the content, but also immediately initiates streaming the requested channel. As a result, the channel change delay of about 10 seconds is reduced to a minimal decoding delay. Once the actual streaming from the network reaches the client terminal after a delay, the client terminal may stop the cache memory playback and switch to the actual network streaming.
As described above, the apparatus may be arranged to receive the metadata files and the media content files arranged in a multicast protocol comprising data structures for distinguishing the segments of the media content from each other and for identifying the network addresses of the media content of the media channel included in the media content file. Thus, client terminals capable of interpreting the multicast protocol may implement the fast channel switch. Nevertheless, client terminals not capable of interpreting the multicast protocol may still exist in the same system; they just are not capable of implementing the fast channel switch. If the multicast protocol comprises data structures for assigning a checksum to each file for detecting errors in transmission, the apparatus may be arranged to, upon detecting a fault checksum for a file, ignore said file. The apparatus may delete said file, refrain from storing said file or just ignore the information of said file.
It may thus be possible that no segments of media content from a media channel requested by the user are found in the media content files stored in the memory of the client terminal. This may be due to said file being ignored, as described above, or due to said media content files comprising segments of the media content only from a sub-group of all media channels. In such a case, i.e. upon detecting the user command for switching to a media channel not included in the stored files, the apparatus may send a channel change request to the media streamer 102 in the network and request the media content of the new media channel to be delivered as in the prior art, i.e. with a delay of about 10 seconds. The apparatus may comprise at least two decoders for decoding the media content. It is a very typical use case that the user zaps the media channels one by one with the remote controller either in the ascending or in the descending order of channel numbers. According to an embodiment, in the apparatus with at least two decoders, the decoder not decoding the currently shown media channel is arranged to start decoding the next media channel in channel numbering order. For example, if the user initially watches channel X decoded by decoder 1 and then zaps to watch channel X+1 decoded by decoder 2, the released decoder 1 is arranged to start decoding channel X+2. Then, if the user continues the zap pattern, the decoding of channel X+2 is already running when the user zaps to said channel. Thus, the delay of the channel switch is even further minimized, since also the decoding delay caused by tuning the decoder to initiate decoding of a new channel is avoided.
According to an embodiment, the user may be provided with a display view of the decoded channels. In addition to the currently shown media channel, at least one further media channel is decoded and shown, e.g. in a miniaturised frame, on the display. Figure 3 shows an example, how picture-in-picture application may be utilised in showing, in addition to the currently shown media channel, a plurality of other media channels X, X+1 , X+2, X+3, .... The user may be provided with an option browse the content of the other channels while keeping the currently shown media channel on the major part of the display.
The stream controller 106 plays a significant role in the above system. The stream controller may be implemented as a separate network element. Alternatively, the stream controller may be a functional unit implemented together with one or more functional units within a common network element. In practice, the operations of the stream controller may be implemented as software components residing on one network element or distributed across several network elements. Consequently, the network elements contain memory, one or more processors, and computer program code residing in the memory for implementing the operations of the stream controller. A skilled man appreciates that any of the embodiments described above may be implemented as a combination with one or more of the other embodiments, unless there is explicitly or implicitly stated that certain embodiments are only alternatives to each other.
The various embodiments of the invention can be implemented with the help of computer program code that resides in a memory and causes the relevant apparatuses to carry out the invention. For example, a client terminal device may comprise circuitry and electronics for handling, receiving and transmitting data, computer program code in a memory, and a processor that, when running the computer program code, causes the terminal device to carry out the features of an embodiment. Yet further, a network device may comprise circuitry and electronics for handling, receiving and transmitting data, computer program code in a memory, and a processor that, when running the computer program code, causes the network device to carry out the features of an embodiment. The various devices may be or may comprise encoders, decoders and transcoders, packetizers and depacketizers, and transmitters and receivers.
It is obvious that the present invention is not limited solely to the above- presented embodiments, but it can be modified within the scope of the appended claims.

Claims

Claims:
1. A method comprising:
streaming media content of a variety of media channels using HTTP-based adaptive streaming; and
uploading one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal.
2. The method according to claim 1 , wherein
the uploading comprises multicasting the one or more files comprising metadata of media content in distribution and the at least one media content file comprising segments of the media content for a plurality of the media channels to a plurality of client terminals.
3. The method according to claim 2, wherein the files are arranged in a multicast protocol,
said multicast protocol comprising data structures for distinguishing the segments of the media content from each other and for identifying the network addresses of the media content of the media channel included in the media content file.
4. The method according to claim 3, wherein the multicast protocol comprising data structures for assigning a checksum to each file for detecting errors in transmission.
5. The method according to any preceding claim, wherein the at least one media content file comprises segments of the media content from a sub-group of all media channels.
6. The method according to any of claims 1 - 4, wherein the at least one media content file comprises segments of the media content from all media channels.
7. The method according to any preceding claim, further comprising
encoding the segments of the media content in said at least one media content file with a lower bitrate than used in streaming said media content.
8. The method according to any preceding claim, wherein said file comprising metadata of media content is a manifest file comprising network addresses of the media content of the media channels included in said media content file.
9. A media content delivery system comprising at least a stream controller and a media streamer, wherein
the stream controller is arranged to control the media streamer to stream media content of a variety of media channels using HTTP-based adaptive streaming; and
the stream controller is arranged to control the media streamer to upload one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal.
10. The system according to claim 9, wherein
the stream controller is arranged to control the media streamer to multicast the one or more files comprising metadata of media content in distribution and the at least one media content file comprising segments of the media content for a plurality of the media channels to a plurality of client terminals.
1 1. The system according to claim 10, wherein the files are arranged in a multicast protocol,
said multicast protocol comprising data structures for distinguishing the segments of the media content from each other and for identifying the network addresses of the media content of the media channel included in the media content file.
12. The system according to claim 1 1 , wherein the multicast protocol comprising data structures for assigning a checksum to each file for detecting errors in transmission.
13. The system according to any of claims 9 - 12, wherein the at least one media content file comprises segments of the media content from a sub-group of all media channels.
14. The system according to any of claims 9 - 12, wherein the at least one media content file comprises segments of the media content from all media channels.
15. The system according to any of claims 9 - 14, wherein the stream controller is arranged to control the media streamer to
encode the segments of the media content in said at least one media content file with a lower bitrate than used in streaming said media content.
16. The system according to any of claims 9 - 15, wherein said file comprising metadata of media content is a manifest file comprising network addresses of the media content of the media channels included in said media content file.
17. An apparatus comprising:
a communication interface for receiving media content of a variety of media channels using HTTP-based adaptive streaming, and for receiving one or more files comprising metadata of media content in distribution and at least one media content file comprising segments of the media content for a plurality of the media channels to at least one client terminal;
a memory for storing said files at least temporarily; the apparatus being arranged to, upon detecting a user command for switching to another media channel,
retrieve a segment of the media content of said media channel from the memory; and
start a playback of said media channel from the segment of the media content retrieved from the memory.
18. The apparatus according to claim 17, wherein the apparatus is arranged to, upon detecting the user command for switching to said media channel,
retrieve a network address of the media content of said media channel from said metadata; and
initiate streaming of the media content of said media channel from said network address.
19. The apparatus according to claim 18, wherein the apparatus is arranged to, upon receiving the streamed media content of said media channel from the network,
stop the playback of said media channel from the segment of the media content retrieved from the memory; and
continue the playback from the streamed media content of said media channel.
20. The apparatus according to any of claims 17 - 19, wherein the apparatus is arranged to receive the one or more files comprising metadata of media content in distribution and the at least one media content file comprising segments of the media content for a plurality of the media channels arranged in a multicast protocol,
said multicast protocol comprising data structures for distinguishing the segments of the media content from each other and for identifying the network addresses of the media content of the media channel included in the media content file.
21. The apparatus according to claim 20, wherein the multicast protocol comprising data structures for assigning a checksum to each file for detecting errors in transmission.
22. The apparatus according to claim 21 , wherein the apparatus is arranged to, upon detecting a fault checksum for a file, ignore said file.
23. The apparatus according to any of claims 17 - 22, wherein the at least one media content file comprises segments of the media content from a sub-group of all media channels, and the apparatus is arranged, upon detecting the user command for switching to a media channel not included in the stored files, send a channel change request to a media streamer in the network.
24. The apparatus according to any of claims 17 - 23, wherein the at least one media content file comprises segments of the media content from all media channels.
25. The apparatus according to any of claims 17 - 24, wherein the segments of the media content in said at least one media content file are encoded with a lower bitrate than used in streaming said media content.
PCT/FI2013/050389 2013-04-10 2013-04-10 Adaptive streaming of media content WO2014167168A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/FI2013/050389 WO2014167168A1 (en) 2013-04-10 2013-04-10 Adaptive streaming of media content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FI2013/050389 WO2014167168A1 (en) 2013-04-10 2013-04-10 Adaptive streaming of media content

Publications (1)

Publication Number Publication Date
WO2014167168A1 true WO2014167168A1 (en) 2014-10-16

Family

ID=51688985

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI2013/050389 WO2014167168A1 (en) 2013-04-10 2013-04-10 Adaptive streaming of media content

Country Status (1)

Country Link
WO (1) WO2014167168A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3080247A1 (en) * 2018-04-17 2019-10-18 Orange READING A MULTIMEDIA STREAM

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090297131A1 (en) * 2008-06-03 2009-12-03 At&T Knowledge Ventures, L.P. Method and apparatus for encoding video streams
US20100146135A1 (en) * 2008-12-08 2010-06-10 Concert Technology Protected distribution and location based aggregation service
US7986702B1 (en) * 2007-11-29 2011-07-26 Bigband Networks Inc. Method and system for streaming multimedia transmissions
US20120269075A1 (en) * 2011-04-20 2012-10-25 Mobitv, Inc. Methods and apparatus for broadcast and multicast/unicast transition
US20120291083A1 (en) * 2011-05-12 2012-11-15 Cable Television Laboratories, Inc. Media Files Delivery System And Method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7986702B1 (en) * 2007-11-29 2011-07-26 Bigband Networks Inc. Method and system for streaming multimedia transmissions
US20090297131A1 (en) * 2008-06-03 2009-12-03 At&T Knowledge Ventures, L.P. Method and apparatus for encoding video streams
US20100146135A1 (en) * 2008-12-08 2010-06-10 Concert Technology Protected distribution and location based aggregation service
US20120269075A1 (en) * 2011-04-20 2012-10-25 Mobitv, Inc. Methods and apparatus for broadcast and multicast/unicast transition
US20120291083A1 (en) * 2011-05-12 2012-11-15 Cable Television Laboratories, Inc. Media Files Delivery System And Method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3080247A1 (en) * 2018-04-17 2019-10-18 Orange READING A MULTIMEDIA STREAM

Similar Documents

Publication Publication Date Title
US9900646B2 (en) Method, device and computer program product for outputting a transport stream
CN110543747B (en) Multimedia pipeline architecture
US20140223502A1 (en) Method of Operating an IP Client
US20120297423A1 (en) Method and system for program and stream control of video to target device
US20140129618A1 (en) Method of streaming multimedia data over a network
US7571232B2 (en) Method and apparatus for managing channel information
US9594482B2 (en) Method and system for transferring the display of content from a first device to a second device
US20110138429A1 (en) System and method for delivering selections of multi-media content to end user display systems
US20120174163A1 (en) Tuner Control for Streaming Live Television
WO2013163553A1 (en) Connected multi-screen video
KR20110023497A (en) Method for providing content list and digital broadcasting receiver enabling of the method
EP1880549A1 (en) Internet protocol television
US9479843B2 (en) Methods and apparatus for supporting trick play functions in devices without local storage
US11395035B2 (en) Temporally-seamless channel change functionality in multichannel streaming environments
WO2007093246A1 (en) A method and apparatus for providing a picture in picture service
CN104185070A (en) Switching method for different displaying windows of television
US20150237398A1 (en) Internet protocol television
KR20180105026A (en) Electronic apparatus and the control method thereof
KR101351040B1 (en) Method for transmitting a content, broadcasting receiver and method for receiving a broadcasting signal
CN101668151B (en) Recording method of internet protocol television (IPTV) and system therefor
Bing 3D and HD broadband video networking
US20150358692A1 (en) Video on demand over satellite
US20190200070A1 (en) Streaming methods and systems using tuner buffers
WO2014167168A1 (en) Adaptive streaming of media content
KR20100047506A (en) Method for processing broadcast service information and digital broadcast receiver

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: 13881806

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: 13881806

Country of ref document: EP

Kind code of ref document: A1