The present invention relates generally to the domain of the adaptive streaming over, for instance but not exclusively, HTTP (HyperText Transfer
Protocol) and, in particular, to a device and a method for adapting a manifest sent by one or several servers and associated with a multimedia content requested by the client terminal.
This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
When a client terminal wants to play an audiovisual content (or A/V content) in adaptive streaming, it first has to get a file describing how this A/V content can be obtained. This is done through the HTTP protocol by getting a descripting file, so-called manifest, from an URL (Uniform Resource Locator). The manifest basically lists the available representations of such an A/V content (in terms of bitrate, resolution and other properties). Said manifest is generated in advance and delivered to the client terminal by, for instance, a remote server.
Indeed, the stream of data is available on an HTTP server with different qualities. The highest quality has a high bit rate, the lowest quality has a low bit rate. This allows distribution to many different terminals which can be subject to highly varying network conditions.
The whole data stream is divided into chunks which are made such that a client terminal may smoothly switch from one quality level to another between two chunks. As a result, the video quality may vary while playing but rarely freezes.
The data stream is announced to the client terminal by a manifest, which gives, among other things, a list of representations, one representation per quality level (bit rate). Each representation is made of a series of chunks of equal duration and has a set of descriptive elements attached for selection by the client. Each chunk is accessible by a separate URL.
Depending on the protocol, the manifest can have different formats. For the Apple HLS protocol (HTTP Live Streaming), it is an M3U8 playlist, called the “master playlist”. Each element of this playlist is another playlist, (one per representation). According to other protocols (DASH for instance), the manifest (so called Media Presentation Description or MPD, according to DASH) is made of one or more XML files describing all the representations one after the other. In any case, creating the manifest is as simple as creating a text file and writing the text according to a deterministic grammar.
It is known that the order of the listed representations does not matter, except at start time, wherein the first representation is interpreted—by convention—as the suggested or preferred representation by the client terminal.
However, this recommendation is only based on static content characteristics (resolution, number of audio channels, etc.). Therefore, chances that the client terminal requests the optimal bit rate at startup are really low. It then needs to later converge to the optimal bit rate by itself, meaning that the first impression for the end-user starting to watch a streaming movie might be poor.
The present invention attempts to remedy at least the above mentioned drawback by improving, in particular, chances a client terminal requests the optimal representation at startup, yielding a better user experience from the very beginning of the streaming session.
The invention concerns a device for adapting a manifest received from at least one server and associated with a multimedia content requested by a client terminal, said manifest comprising a list of representations of said multimedia content, which is worthy in that it comprises:
Thus, thanks to the present invention, if the recommended representation of a manifest is selected by the client terminal, the first downloaded chunks will be chosen from this recommended representation. If the bit rate of this recommended representation is close to the estimated achievable data rate, the client is then expected to start at the optimal bit rate—which is rarely the case when the manifest is built without taking this consideration into account—yielding a better user experience from the very beginning of the streaming session. This obviously results in a much improved first impression for the end-user.
In other words, the present invention takes into account the networking connectivity parameters of the client terminal (type of access network, current data rate, etc.) which are by definition specific to each client terminal.
In a particular embodiment compliant with the present invention, the selecting module may be further configured to select the first representation having an associated bitrate at most equal to the estimated achievable data rate.
In another aspect of the present invention, said device further comprises:
Preferably, said device is a proxy device such as an Internet gateway, a Wi-Fi hotspot, a femtocell or any device able to monitor the available throughput and able, for instance, to intercept and modify an HTTP adaptive streaming manifest.
Advantageously, the recommendation of the selected representation might be obtained by annotating said selected representation in the adapted manifest.
In a variant compliant with the present invention, the recommendation of the selected representation might be obtained by arranging the selected representation in the first position of the listed representations in the adapted manifest.
According to an example of the present invention, said manifest is supported by a HTTP adaptive streaming protocol.
Besides, the present invention also concerns a method for adapting a manifest received from at least one server and associated with a multimedia content requested by the client terminal, said manifest comprising a list of representations of said multimedia content.
According to the invention, said method comprises:
Certain aspects commensurate in scope with the disclosed embodiments are set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of certain forms the invention might take and that these aspects are not intended to limit the scope of the invention. Indeed, the invention may encompass a variety of aspects that may not be set forth below.
The invention will be better understood and illustrated by means of the following embodiment and execution examples, in no way limitative, with reference to the appended figures on which:
In
Wherever possible, the same reference numerals will be used throughout the figures to refer to the same or like parts.
It is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for purposes of clarity, many other elements found in typical digital multimedia content delivery methods and systems. However, because such elements are well known in the art, a detailed discussion of such elements is not provided herein. The disclosure herein is directed to all such variations and modifications known to those skilled in the art.
According to a preferred embodiment, the present invention is depicted with regard to the HTTP adaptive streaming protocol. Naturally, the invention is not restricted to such a particular environment and other adaptive streaming protocol could of course be considered and implemented.
As depicted in
The client terminal C—connected to the gateway GW through a first network N1 (as a home network)—wants to connect to one or more HTTP servers S through a second network N2 (as the Internet network). The first network N1 is connected to the second network N2 thanks to the gateway GW.
The HTTP servers S stream chunks to the client terminal C, upon the client request, using HTTP adaptive streaming protocol over one or more TCP/IP connections. Obviously, in a variant, only one HTTP server S can stream chunks to the client terminal C.
According to the preferred embodiment as described in
In the preferred embodiment, the client terminal C is a portable media device, a mobile phone, a tablet or a laptop. Naturally, the client terminal C might not comprise any video player, but rather an interface to connect a video player. In this case, the client terminal C is a video decoder, such as a set-top box.
Moreover, as shown in
In said preferred embodiment, the gateway GW comprises at least:
As previously described, to play a multimedia content (e.g. a movie) in adaptive streaming, the client terminal C first needs to obtain a manifest listing the available representations, in terms of bitrate and resolution, of the requested multimedia content. This manifest has been generated in advance and stored on the HTTP servers S.
According to the invention, the gateway GW is able to perform an adaption of a manifest sent by one or more HTTP servers S upon a client request of a multimedia content.
To this end, the gateway GW further comprises:
According to the invention, different ways for recommending the selected representation can be implemented, which might depend on the streaming techniques used (Apple HLS, Microsoft Smooth Streaming, DASH, etc.).
Thus, a first technique consists of annotating the selected representation, for example by adding a specific tag to the latter in order to recommend the selected representation. This first technique might be especially worthy in the case of the DASH protocol, since the manifest is an XML file which can accept such an additional annotation. In this case, the order of the listed representations might be unchanged, only the selected and recommended representation is tagged.
Another technique for recommending the selected representation in the adapted manifest may reorder the listed representations, or at least a part of them, to arrange the selected and recommended representation on the top of the list. In fact, the Applicant has observed that the current players of streaming content usually select the first representation listed in the manifest, leading to the conclusion that, if the selected representation is arranged in the first position, players will choose it at first.
Besides, the flow chart depicted in
In particular, in a preliminary step E0, the gateway GW intercepts the manifest sent by the servers S and associated with the multimedia content which has been requested by the client terminal C.
In a further step E1, the gateway GW estimates the achievable data rate of at least a part of the path between the client terminal C and the servers S.
In a further step E2, the gateway GW selects, among the plurality of listed representations of said intercepted manifest, the first representation having an associated bitrate at most equal to the estimated achievable data rate. The selected representation is also called recommended representation.
In a further step E3, the gateway GW delivers an adapted manifest to the client terminal C, wherein the selected representation is recommended according to a technique as above specified.
Thanks to the present invention, the recommended representation is recommended in the adapted manifest, before being forwarded to the client terminal C. As a result, the client terminal C is expected to request the representation associated with the optimal bit rate at startup. The first downloaded chunks will be chosen from this recommended representation. If the bit rate of this recommended representation is close to the estimated achievable data rate, the client is then expected to start at an optimal bit rate. The first impression of the end-user will be increased at the beginning of the streaming session, in comparison with current techniques.
Of course, since the adapted manifest comprises all the other representations proposed by the servers S, the terminal client C can later converge to a new optimal bit rate by itself.
As previously described, the present invention can be implemented in an intermediate device (also called proxy device), such as an Internet gateway, a Wi-Fi hotspot, a femtocell or any device able to monitor the available throughput and able to intercept and modify an HTTP streaming manifest.
Naturally, in a variant, the present invention might be implemented in a proxy, arranged in a device or located in the cloud, adapted to change the manifest, which is distinct from the equipment controlling the physical network link, as long as the proxy is able to get the throughput information from this equipment. This allows to manage more complex network configurations, such as the case of several network segments possibly being the bottleneck. The proxy then may get information from the various network nodes and may determine the lowest available bandwidth, which will be the target selecting the appropriate representation. For instance in a home network, both the ADSL access link and a home Wi-Fi access point may be in the path and are both subject to variable limitations in bandwidth.
It has to be noted that several proxy devices according to the invention might be arranged at different locations of the Client-Server architectures (e.g. one proxy device in a DSLAM and another one in a gateway). Indeed, a manifest could be adapted by the first proxy device located in the DSLAM to regulate the traffic between subscribers. Then, another adaption of said adapted manifest might be performed by the second proxy device (in the example the gateway) in order to better manage the bandwidth of the home network.
In another embodiment of the present invention, the manifest may be generated on the fly (e.g. in the case of live transcoding) with the same benefits. In such case, the manifest production stage is either modified to implement the aforementioned method, or the previously described invention is appended to the manifest generation stage.
References disclosed in the description, the claims and the drawings may be provided independently or in any appropriate combination. Features may, where appropriate, be implemented in hardware, software, or a combination of the two.
Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.
This invention having been described in its preferred embodiment, it is clear that it is susceptible to numerous modifications and embodiments within the ability of those skilled in the art and without the exercise of the inventive faculty. Accordingly, the scope of the invention is defined by the scope of the following claims.
In the claims hereof, any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The present principles as defined by such claims reside in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
Number | Date | Country | Kind |
---|---|---|---|
13305451.0 | Apr 2013 | EP | regional |
14305007.8 | Jan 2014 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2014/054571 | 3/10/2014 | WO | 00 |