Method for optimizing the throughput of multimedia contents accessible by at least one user terminal, corresponding computer program product and management device
10652295 ยท 2020-05-12
Assignee
Inventors
Cpc classification
H04N21/2343
ELECTRICITY
H04L65/65
ELECTRICITY
H04N21/64738
ELECTRICITY
H04N21/6373
ELECTRICITY
International classification
H04N21/2343
ELECTRICITY
H04N21/6373
ELECTRICITY
H04N21/647
ELECTRICITY
Abstract
A method is proposed for optimizing the bit rate of multimedia contents accessible by a plurality of user terminals connected to a radiocommunications network cell. The multimedia contents are stored in the form of a plurality of independent chunks on at least one multimedia contents server associated with at least one contents provider. The method includes the following steps, implemented in a device for optimizing the bit rate: receiving one request to obtain a multimedia description file, sent by a user terminal; obtaining a multimedia description file; modifying the multimedia description file on the basis of a piece of information representing a quality of delivery, delivering a modified multimedia description file; and transmitting the modified multimedia description file to the user terminal.
Claims
1. A method comprising the following acts performed by a device for optimizing bit rate: optimizing bit rate of multimedia contents accessible by a plurality of user terminals connected to a radiocommunications network cell, said multimedia contents being stored in the form of a plurality of independent chunks on at least one multimedia contents server associated with at least one contents provider, wherein said optimizing bit rate comprises the following steps: receiving at least one request to obtain at least one file representing at least one available quality corresponding to a bit rate for at least one chunk of at least one of said multimedia contents, called a multimedia description file, said request being sent by at least one user terminal of said plurality of user terminals to access said at least one multimedia content; obtaining said at least one multimedia description file; modifying said at least one multimedia description file on the basis of at least one piece of information representing a quality of delivery of said at least one multimedia content to the at least one user terminal, called information on quality of delivery, said modification comprising a sub-step of elimination, for at least one chunk of said at least one multimedia content, of at least one available quality corresponding to a bit rate higher than a preliminarily obtained average bit rate Q.sub.av, said sub-step of elimination being implemented when a maximum bit rate Q.sub.i.sup.max borne by said at least one user terminal is higher than said average bit rate Q.sub.av, said at least one eliminated available quality corresponding to a bit rate higher than said average bit rate Q.sub.av to which a margin Q.sub.diff is added, this margin Q.sub.diff being decremented at a subsequent implementation of said step of elimination, said modification delivering at least one modified multimedia description file; and transmitting said at least one modified multimedia description file to said at least one user terminal in response to said at least one request.
2. The method for optimizing the bit rate according to claim 1, wherein said step of obtaining comprises the following sub-steps: transmitting said at least one request to at least one management server of said at least one contents provider; and receiving said at least one multimedia description file, said multimedia description file being transmitted by said at least one management server of said at least one contents provider.
3. The method for optimizing the bit rate according to claim 1, wherein said information on quality of delivery belongs to the group consisting of: a bandwidth Q.sub.a of said radiocommunications network cell; a number of user terminals simultaneously requesting a multimedia description file to access a multimedia content in said radiocommunications network cell; a user profile associated with a terminal connected to said radiocommunications network cell; a characteristic of a terminal connected to said radiocommunications network cell.
4. The method for optimizing the bit rate according to claim 3, wherein said user profile corresponds to a customer profile of an operator of said radiocommunications network or to a customer profile of said at least one contents provider.
5. The method for optimizing the bit rate according to claim 3, wherein the bandwidth Q.sub.a belongs to the group consisting of: the total bandwidth available for the transfer of data in the network cell in question; a pre-determined bandwidth.
6. The method for optimizing the bit rate according to claim 1, wherein said step of modifying said at least one multimedia description file is implemented on the basis of a congestion indicator in said radiocommunications cell belonging to the group consisting of: an indicator of a congestion in progress; an indicator of a planned congestion; a piece of statistical data representing said radiocommunications network.
7. The method for optimizing the bit rate according to claim 1, wherein said step of modifying said at least one multimedia description file comprises the following sub-steps, prior to said step of elimination: obtaining a piece of information representing said maximum bit rate Q.sub.i.sup.max borne by said at least one user terminal and a piece of information representing the bandwidth Q.sub.a of said radiocommunications network cell; computing said average bit rate Q.sub.av=Q.sub.a/N, N representing the number of user terminals connected to said radiocommunications network cell requesting at least one of said multimedia contents.
8. The method for optimizing the bit rate according to claim 1, said at least one multimedia description file being a file according to the MPD (Media Presentation Description) standard, and said at least one user terminal implementing a client according to the DASH (Dynamic Adaptive Streaming over HTTP standard, with HTTP corresponding to HyperText Transfer Protocol).
9. The method for optimizing the bit rate according to claim 1, said device for optimizing the bit rate being located in a server according to the MEC (Mobile Edge Computing) standard.
10. The method for optimizing the bit rate according to claim 1, said device for optimizing the bit rate being located in a server of said at least one multimedia contents provider.
11. A non-transitory computer-readable medium comprising instructions stored thereon to implement a method, when said instructions are executed by a processor of a device for optimizing bit rate, wherein the method comprises: optimizing bit rate of multimedia contents accessible by a plurality of user terminals connected to a radiocommunications network cell, said multimedia contents being stored in the form of a plurality of independent chunks on at least one multimedia contents server associated with at least one contents provider, wherein said optimizing bit rate comprises the following steps: receiving at least one request to obtain at least one file representing at least one available quality corresponding to a bit rate for at least one chunk of at least one of said multimedia contents, called a multimedia description file, said request being sent by at least one user terminal of said plurality of user terminals to access said at least one multimedia content; obtaining said at least one multimedia description file; modifying said at least one multimedia description file on the basis of at least one piece of information representing a quality of delivery of said at least one multimedia content to the at least one user terminal, called information on quality of delivery, said modification comprising a sub-step of elimination, for at least one chunk of said at least one multimedia content, of at least one available quality corresponding to a bit rate higher than a preliminarily obtained average bit rate Q.sub.av, said sub-step of elimination being implemented when a maximum bit rate Q.sub.i.sup.max borne by said at least one user terminal is higher than said average bit rate Q.sub.av, said at least one eliminated available quality corresponding to a bit rate higher than said average bit rate Q.sub.av to which a margin Q.sub.diff is added, this margin Q.sub.diff being decremented at a subsequent implementation of said step of elimination, said modification delivering at least one modified multimedia description file; and transmitting said at least one modified multimedia description file to said at least one user terminal in response to said at least one request.
12. A device for optimizing bit rate of multimedia contents accessible by a plurality of user terminals connected to a radiocommunications network cell, said multimedia contents being stored in the form of a plurality of independent chunks on at least one multimedia contents server associated with at least one contents provider, wherein said device for optimizing the bit rate comprises: a reprogrammable computing machine or a dedicated computing machine configured to: receive at least one request to obtain at least one file representing at least one available quality corresponding to a bit rate for at least one chunk of at least one of said multimedia contents, called a multimedia description file, said request being sent by at least one user terminal of said plurality of user terminals to access said at least one multimedia content; obtain said at least one multimedia description file; modify said at least one multimedia description file on the basis of at least one piece of information representing a quality of delivery of said at least one multimedia content, to the at least one user terminal, called a piece of information on quality of delivery, said modification comprising a sub-step of elimination, for at least one chunk of said at least one multimedia content, of at least one available quality corresponding to a bit rate higher than a preliminarily obtained average bit rate Q.sub.av, said sub-step of elimination being implemented when a maximum bit rate Q.sub.i.sup.max borne by said at least one user terminal is higher than said average bit rate Q.sub.av, said at least one eliminated available quality corresponding to a bit rate higher than said average bit rate Q.sub.av to which a margin Q.sub.diff is added, said margin Q.sub.diff being decremented at a subsequent implementation of said elimination, said modification delivering at least one modified multimedia description file; and transmit said at least one modified multimedia description file to said at least one user terminal in response to said at least one request.
Description
4 LIST OF FIGURES
(1) Other features and advantages of the invention shall appear from the following description, given by way of an indicative and non-exhaustive example and from the appended drawings of which:
(2)
(3)
(4)
(5) rate of multimedia contents accessible by a user terminal according to different embodiments of the invention.
5 DETAILED DESCRIPTION OF THE INVENTION
(6) In all the figures of the present document, the identical elements and steps are designated by a same reference.
(7) The general principle of the invention described consists in proposing a method for optimizing the bit rate of multimedia contents accessible by a plurality of user terminals connected to a radiocommunications network cell based on the on the fly modification of files listing different available qualities, corresponding to different bit rates, for a chunks of multimedia contents that the user terminals wish to access.
(8) To this end, a device for optimizing the bit rate (or through-put-rate optimizing device) receives a request sent by a user terminal for a multimedia description file, or manifest file, corresponding to a multimedia content being sought. The bit-rate optimizing device then obtains the requested manifest file, this file listing the available chunks of the multimedia content requested as well as the associated quality (and therefore the corresponding bit rate). The bit-rate optimizing device then modifies the manifest file on the basis of a piece of information representing a quality of delivery, taking into account additional criteria distinct from the only request from the user terminal before transmitting the file to the user terminal that has transmitted the request.
(9) Referring now to
(10) More specifically, in this configuration, the radiocommunications network comprises an MEC server 210 located between the core of the network 150 and the access node 140 of the mobile network part (for example a base station of a 2G, 3G, 4G, and other type of cell network). A bit-rate optimizing device 200 implementing the described technique is then included in the MEC server 210.
(11) According to the embodiment illustrated in
(12) According to this embodiment, the bit-rate optimizing device 200 therefore behaves like a proxy server towards user terminals seeking to obtain a multimedia content from the provider of multimedia contents with which they are identified (or recorded) during the steps E101 and E102 and therefore the servers are connected to the radiocommunications network in question.
(13) For the management server 120 of the multimedia content provider to be capable of providing the required manifest file, the bit-rate optimizing device 200 sends the request at a step E202.
(14) At a step E203, the bit-rate optimizing device 200 receives, in response, an MPD manifest file comprising a list of available chunks on the multimedia content servers 130 of the multimedia content provider for the multimedia content sought, as well as the associated quality (and corresponding bit rate).
(15) At a step E204, the optimizing device modifies the contents of the MPD file on the basis of a piece of information representing a quality of delivery in order to optimize the bit rate for the chunks of the multimedia content that are accessible by the user terminal.
(16) In variants, the information representing a quality of delivery corresponds to: a bandwidth Q.sub.a of the radiocommunications network cell to which the user terminal 100 is connected; a number of user terminals simultaneously requesting a multimedia description file in the radiocommunications network cell; a user profile associated with the user terminal 100 and/or with a another user terminal connected to the same cell; a characteristic of the user terminal 100 and/or another user terminal connected to the same cell.
(17) Thus, the bit-rate optimizing device 200, located in a server situated between the network core 150 and the access node 140 of the mobile network part, makes advantageous use of its proximity to the access node 140 to obtain or access information in real time on the operational conditions in the network cell in question, for example the bandwidth Q.sub.a (this bandwidth could for example be adjusted as a function of the conditions of propagation of the radioelectrical signals in the cell or the effective load of the cell), or the number of user terminals simultaneously requesting a multimedia description file in the radiocommunications network cell in question.
(18) In variants, the bandwidth Q.sub.a corresponds to: the total bandwidth available for the transfer of data in the network cell in question; a pre-determined bandwidth, for example a fraction of the total cell capacity allocated to the transfer of data or to access to multimedia contents.
(19) Thus, the bit rate of the accessible multimedia contents can be optimized on the basis of all or part of the effective capacity of the cell, thereby reinforcing the adaptive character of the method described.
(20) This type of function, enabling the operational conditions to be reported back, in real time or periodically, from a network cell up to applications located in a server in proximity to the cell in question, is for example laid down in the MEC approach that is now being standardized.
(21) In one variant, the bit-rate optimizing device 200 is managed by the operator of the radiocommunications network in question, thus enabling it to address and resolve congestion that might occur in the cells of his own network.
(22) In another variant, the bit-rate optimizing device 200 is managed by third parties, for example the multimedia content provider, thus giving this provider greater flexibility in the management of the services proposed to its customers. Besides, this approach enables the content provider to maximize a number of satisfied customers as well as offer the possibility of serving a greater number of customers.
(23) In another embodiment, the bit-rate optimizing device 200 is located in a server of the multimedia contents provider, for example in the management server 120, thereby enabling the content provider to have direct and easy control over the modification of the MPD files that have to be sent back to the user terminals. In this case, the operational conditions of the network cell in question are reported back to the server of the multimedia contents provider by the server situated between the network core 150 and the access node 140 of the mobile network part, for example the MEC server.
(24) Besides, according to the embodiment illustrated in
(25) On the basis of the knowledge of these requests and of operational conditions of the network cell updated periodically, the bit-rate optimizing device 200 is capable of modifying each MPD manifest file corresponding to a request received during the step E201 so as to prevent, reduce or ease congestions.
(26) In particular, the bit-rate optimizing device 200 can eliminate the entries of files for which it estimates that the associated qualities correspond to excessively high bit rates relative to the number of requests received and the bit rate that must then be guaranteed for each user. Thus, the DASH client installed on each user terminal 100 that has sent a request cannot select a chunk quality corresponding to an excessively high bit rate, since such an excessively high bit rate could penalize the other users and lead to congestion of the cell of the network.
(27) In variants, the bit-rate optimizing device 200 also takes account of the users' profiles.
(28) These users' profiles can be, for example, profiles of the users as customers of the multimedia contents provider. A customer known as a premium customer may indeed be favored and the MPD manifest files intended for his user terminal 100 may be modified differently or even may not be modified. In this case, the user profiles stored in a server of the multimedia contents provider, for example in the identification server 110 or in the management server 120, are provided to the bit-rate optimizing device 200. These profiles, duplicated on the bit-rate optimizing device 200, can then be updated periodically, automatically or on demand.
(29) These users' profiles can also be the profiles of the users as customers of the operator of the radiocommunications network. Here too, arbitration can be done on the bit rates accessible as a function of the subscriptions of the users of the network (for example whether a subscription is oriented towards data or simply towards voice communication). In this case, the profiles of the customers of the radiocommunications network that are stored in a server of the network core, for example an AAA (Authentication, Authorization and Accounting) server, and HSS (Home Subscriber Server) or else again a PCRF (Policy and Charging Rules Function) server are therefore provided to the bit-rate optimizing device 200. These customer profiles which are duplicated on the bit-rate optimizing device 200 by the operator of the radiocommunications network can then also be updated periodically, automatically or on demand.
(30) In other variants, the bit-rate optimizing device 200 also takes account of the characteristics of the user terminal 100.
(31) For example, when the multimedia content requested is video content, the size and resolution of the screen of the terminal are taken into consideration to decide which are the chunks that will be accessible to the terminal (the bigger the terminal, the greater the quality and the corresponding bit rate of the authorized chunks).
(32) In a step E205, the bit-rate optimizing device 200 transmits the modified MPD manifest file to the user terminal 100 that has transmitted the corresponding request in the step E201.
(33) In variants, the user terminal 100, implementing a DASH client, periodically sends out a request, for example every 30 seconds, for an MPD manifest file corresponding to the multimedia content being sought. Indeed, the presence of the chunks of the multimedia content requested can change rapidly on the multimedia content servers 130 and a regular updating of the MPD manifest file can prove to be necessary. Besides, having obtained a given chunk, the user terminal 100 can send out a request for another chunk. In this case, the steps described here above are reiterated at each new request.
(34) In one variant, the mechanisms for the periodic sending of requests is activated via a dedicated field present in the MPD manifest files, this field indicating the duration of validity of the data present in the file, therefore making it possible to obtain the date at which a new manifest file must be requested
(35) In another variant, an equivalent field is directly inserted into the chunks obtained by the user terminal 100, thereby informing it when it must request a new manifest file in order to obtain the next chunk.
(36) According to the embodiment illustrated in
(37) However, in this embodiment, at a step E206, the management server 120 sends the user terminal 100 an instruction asking it to redirect its request to the device 200 for optimizing the bit rate.
(38) Thus, at a step E201, the request is received, this time by the bit-rate optimizing device 200.
(39) According to this embodiment, all the requests for obtaining an MPD manifest file that the user terminals send the servers of the multimedia content provider with which they had identified themselves (or registered) at the step 101 are systematically redirected towards the bit-rate optimizing device 200. As a result, the bit-rate optimizing device 200 is capable of then executing the same steps E204 and E205 as those of the embodiment described with reference to
(40) According to one alternative, the bit-rate optimizing device 200 also executes the steps E202 and E203 in order to obtain, from the management server 120 of the multimedia contents provider, an MPD manifest file corresponding to the request received at a step E201. In this case, the bit-rate optimizing device 200 does not directly manage the MPD manifest files but transfers the request to a server of the multimedia content provider so as to retrieve MPD manifest files comprising data which in principle are the most up-to-date data.
(41) According to another alternative, the MPD files are directly stored in the bit-rate optimizing device 200, for example following a preliminary installation on a server of the multimedia content provider. Thus, the bit-rate optimizing device 200 does not need to transmit the request to the management server 120 in order to obtain the MPD file in return.
(42) In yet another alternative, the bit-rate optimizing device 200 is capable of building the MPD file on the basis of information that that it has at its disposal on the accessible multimedia contents. This information in this case is provided preliminarily or on demand by the multimedia contents provider in question.
(43) Referring now to
(44) In this embodiment, the user terminals 100 are connected to the network cell corresponding to the access node 140 and simultaneously request a multimedia content from a content provider.
(45) In a step 300, the bit-rate optimizing device 200 obtains N pieces of information on maximum bit rate Q.sub.i.sup.max with i being an integer ranging from 1 to N, the maximum bit rate Q.sub.i.sup.max corresponding to the maximum bit rate borne by the i-th user terminal 100.
(46) In one variant, this information is obtained through the profile of the users of the terminals 100 as customers of the operator of the radiocommunications network, this profile containing the characteristics of the user terminals 100 used. As described with reference to
(47) In another variant, this information is obtained via the users' profiles, from the terminals 100, taken as customers of the multimedia contents provider, these profiles containing information on the preferences of the multimedia content users, especially the type of apparatus used and its characteristics. Here too, the customers' profiles are stored in a server of the multimedia contents provider, for example in the identification server 110 or in the management server 120 and duplicated on to the bit-rate optimizing device 200 by the content provider. They can then be updated periodically, automatically or on demand.
(48) At a step 301, the bit-rate optimizing device 200 obtains a piece of information representing the bandwidth Q.sub.a of the network cell to which the N user terminals 100 are connected. In this embodiment, the bandwidth Q.sub.a corresponds to a bandwidth allocated to the access to the multimedia contents. As already described, in other embodiments, the bandwidth Q.sub.a can correspond to: the total bandwidth available for the transfer of data in the network cell in question; a pre-determined bandwidth for example a fraction of the total capacity of the cell that is allocated to the transfer of data.
(49) In a step 302, the bit-rate optimizing device 200 determines, on the basis of a congestion indicator, whether the network cell is in a situation that can be likened to congestion. In variants, the congestion indicator belongs to the group comprising: an indicator of a congestion in progress; an indicator of an expected congestion, for example if a particular event (a sports event, concert etc.) is planned for a given time, possibly causing an increase in demand for a multimedia content; a piece of statistical data representing the radiocommunications network, for example the progress in time of the number of users' terminals connected to the network cell that can pre-suppose a congestion to come.
(50) In one variant, the device 200 for optimizing the bit rate determines whether the bandwidth effectively used to access multimedia contents in the cell is above a threshold proportional to the bandwidth Q.sub.a of the network cell to which the N user terminals 100 are connected and that is allocated for access to the multimedia contents. This threshold can for example correspond to 80% of the bandwidth Q.sub.a. Thus the steps 303 and 304, described here below, that carry out the effective modification of the MPD manifest files that have to be returned to the N user terminals are not performed unless the bandwidth effectively used in the cell approaches the bandwidth Q.sub.a, i.e. unless it is considered to be the case that there is a situation of congestion or that such a situation is being approached. If this is not the case, the bit-rate optimizing device 200 will make no modifications of the manifest files and will resume the execution of the methods described since the initial step 300.
(51) At a step 303, in the event of congestion, i.e. if it has been determined, at the step 302, that the bandwidth effectively used is greater than a threshold, the bit-rate optimizing device 200 computes an average bit rate Q.sub.av=Q.sub.a/N. The average bit rate Q.sub.av thus obtained represents the bit rate that it is sought to guarantee for each user terminal 100 connected to the network cell in an approach of fair distribution of these radio resources allocated for access to multimedia contents.
(52) At a step 304, the bit-rate optimizing device 200 modifies each manifest file that has to be returned to each user terminal 100 if the maximum bit rate borne by this user terminal 100 is greater than the average bit rate Q.sub.av obtained at the step 303. In particular, the bit-rate optimizing device 200 modifies the MPD manifest file that has to be returned to the ith user terminal 100 if the maximum bit rate Q.sub.i.sup.max borne by this user terminal is greater than the average bit rate Q.sub.av obtained at the step 303.
(53) In one variant, the bit-rate optimizing device 200 eliminates the entries corresponding to the chunks of the requested multimedia content that have a quality corresponding to a bit rate higher than an average bit rate Q.sub.av. Thus, in this variant, the DASH clients embedded in the N user terminals 100 that could support bit rates higher than the average bit rate Q.sub.av are presented only with choices of multimedia content chunks corresponding to bit rates below this average bit rate Q.sub.av. None of these DASH clients could then make a choice of chunks leading to congestion in the cell. The customers will thus have better quality of experience through the minimizing of the oscillation of quality while making it possible to have greater fairness among users.
(54) In another variant, the bit-rate optimizing device 200 eliminates the inputs corresponding to the chunks of the requested multimedia content that have a quality corresponding to a bit rate higher than the average bit rate Q.sub.av to which a margin Q.sub.diff is added. Thus, only the inputs corresponding to the chunks that have a quality corresponding to a bit rate higher than Q.sub.av+Q.sub.diff are eliminated. Besides the margin Q.sub.diff is decremented in time so that the eliminations in the MPD manifest file are small in number at the start of the implementation of the technique described and increase as and when the method is iterated. Thus, a soft transition can be obtained, from a non-regulated situation corresponding to a state of non-congestion up to a situation of complete regulation when congestion is underway.
(55) The application of this margin Q.sub.diff can therefore be conditioned by the knowledge of a state representing congestion or the absence of congestion in the cell. Besides, it must be made sure that this margin Q.sub.diff cannot be negative so as not to eliminate any quality corresponding to a bit rate below the average bit rate Q.sub.av.
(56) According to one alternative, the quality of a chunk is represented by an index, for example an integer converted into a corresponding bit rate through a dedicated conversion function. In this case, the margin corresponds, for example, to a percentage of the quality in question.
(57) Referring now to
(58) The bit-rate optimizing device 200 comprises a random-access memory (for example a RAM), a processing unit 402 equipped for example with a processor and driven by a computer program stored in a read-only memory 401 (for example a ROM or a hard disk drive). At initialization, the code instructions of the computer program are for example loaded into the random-access memory 403 and then executed by the processor of the processing unit 402.
(59) This
(60) Should the invention be implanted in a reprogrammable computation machine, the corresponding program (i.e. the sequence of instructions) could be stored in a storage medium that is detachable (such as for example a floppy disk, a CD-ROM or a DVD-ROM) or not detachable, this storage medium being partially or totally readable by a computer or a processor.