Method and system for providing variable quality streaming video services in mobile communication networks
11283854 · 2022-03-22
Assignee
Inventors
- Gennaro Boggia (Conversano, IT)
- Pietro Camarda (Bari, IT)
- Marco Caretti (Turin, IT)
- Roberto Fantini (Turin, IT)
- Luigi Alfredo Grieco (Bari, IT)
- Bruno Melis (Turin, IT)
- Giuseppe Piro (Matera, IT)
Cpc classification
H04L65/65
ELECTRICITY
H04N21/8456
ELECTRICITY
International classification
H04N21/2343
ELECTRICITY
H04L65/65
ELECTRICITY
Abstract
A method of downloading a multimedia content from a content server to a client through a wireless communication network is provided. The multimedia content is subdivided into a plurality of chunks and for each chunk the content server has at least two corresponding versions thereof encoded with different encoding rates. The method includes having the client send a first request of a first version of a corresponding requested chunk, and having a proxy server intercept the first request to generate a second request of a second version of the requested chunk. The method also includes having the proxy server send the second request to the content server in place of the first request, and having the content server send the second version to the client. The second request is generated based on the amount of information content of the versions of said requested chunk.
Claims
1. A method of downloading a multimedia content from a content server to a client through a wireless communication network, the multimedia content being subdivided into a plurality of chunks and for each chunk the content server having at least two corresponding versions thereof encoded with different encoding rates, the method comprising: having the client send a first request of a first version of a corresponding requested chunk; having a proxy server, included in a radio communication station of the wireless communication network, intercept said first request to generate a second request of a second version of the requested chunk; having the proxy server send the second request to the content server in place of said first request; and having the content server send the second version to the client, wherein said second request is generated based on an amount of information content of the versions of said requested chunk, and wherein the versions of a chunk stored in the content server are encoded with encoding rates that cause such versions to have quality levels uniformly distributed between a first MOS index and a second MOS index.
2. The method of claim 1, further comprising generating said second request by carrying out the following sequence of operations: selecting a collection of encoding rates among the encoding rates of the versions of said requested chunk which are stored in the content server, each encoding rate of the selected collection being such that the difference between: a) a video quality of the first version, and b) a video quality of the version of the requested chunk encoded with said encoding rate of the selected collection, is lower than a threshold; selecting a lowest encoding rate among the encoding rates of the collection, and selecting the version of the requested chunk encoded with said selected lowest encoding rate as the second version.
3. The method of claim 2, wherein said threshold corresponds to a maximum tolerated quality degradation introduced by using the second version in place of the corresponding first version.
4. The method of claim 3, wherein said video quality of a version of a chunk is assessed by exploiting one among the following objective metrics: the a peak signal-to noise ratio; the an average structural similarity, and perceptual evaluation of video quality.
5. The method of claim 4, wherein said video quality of a version of a chunk is assessed by exploiting the peak signal-to noise ratio and said threshold has a value that ranges from 1 dB to 10 dB.
6. The method of claim 2, further comprising dynamically adapting the value of the threshold based on an actual traffic load condition of the wireless communication network.
7. The method of claim 1, wherein said having the client send a first request of a first version of a corresponding requested chunk comprises: having the client measure the amount of data received in response to the reception of a version of a previous chunk; having the client measure a packet loss ratio of such reception; having the client select such first version based on said measured amount of data and based on said measured packet loss ratio.
8. The method of claim 7, wherein said having the client select such first version based on said measured amount of data and based on said measured packet loss ratio comprises: if the measured amount of data is lower than the encoding rate of said version of a previous chunk, and, at the same time, if the measured packet loss ratio is higher than zero: selecting said first version in such a way that said first version is a version of the requested chunk which is encoded with an encoding rate lower than the encoding rate of said version of a previous chunk, if the measured amount of data is equal to or higher than the encoding rate of said version of a previous chunk, or if the measured packet loss ratio is equal to or lower than zero: selecting said first version in such a way that said first version is a version of the requested chunk which is encoded with an encoding rate equal to or higher than the encoding rate of said version of a previous chunk.
9. A wireless communication network comprising: a user equipment on which runs a client; at least one radio communication station configured to manage wireless communication between said client and a content server for downloading a multimedia content, said multimedia content being subdivided into a plurality of chunks and for each chunk the content server having at least two corresponding versions thereof encoded with different encoding rates, wherein: the client is configured to send a first request of a first version of a corresponding requested chunk; the at least one radio communication station includes a proxy server configured to intercept said first request to generate a second request of a second version of the requested chunk, and configured to send such second request to the content server in place of said first request; the content server is configured to send the second version to the client, wherein said second request is generated based on an amount of information content of the versions of said requested chunk, and wherein the versions of a chunk stored in the content server are encoded with encoding rates that cause such versions to have quality levels uniformly distributed between a first MOS index and a second MOS index.
10. The wireless communication network of claim 9, wherein the proxy server is configured to generate said second request by carrying out the following sequence of operations: selecting a collection of encoding rates among the encoding rates of the versions of said requested chunk which are stored in the content server, each encoding rate of the selected collection being such that the difference between: a) a video quality of the first version, and b) a video quality of the version of the requested chunk encoded with said encoding rate of the selected collection, is lower than a threshold; selecting a lowest encoding rate among the encoding rates of the collection, and selecting the version of the requested chunk encoded with said selected lowest encoding rate as the second version.
11. A proxy server included in a radio communication station of a wireless communication network, the radio communication station being configured to manage wireless communication between a client running on a user equipment and a content server for downloading a multimedia content, said multimedia content being subdivided into a plurality of chunks and for each chunk the content server having at least two corresponding versions thereof encoded with different encoding rates, the proxy server being configured to: intercept a first request coming from the client and directed to the content server, such first request being a request of a first version of a corresponding requested chunk; generate a second request of a second version of the requested chunk; send such second request to the content server in place of said first request, wherein said second request is generated based on an amount of information content of the versions of said requested chunk, and wherein the versions of a chunk stored in the content server are encoded with encoding rates that cause such versions to have quality levels uniformly distributed between a first MOS index and a second MOS index.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) These and others features and advantages of the solution according to the present invention will be better understood by reading the following detailed description of an embodiment thereof, provided merely by way of non-limitative example, to be read in conjunction with the attached drawings, wherein:
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION
(7) With reference to the drawings,
(8) The wireless communication network 100 allows and manages communications of user equipment (e.g., mobile telephones, smartphones, personal computers and tablets) such as the user equipment 105 on which runs the client 107 over a geographical coverage area 112 by means of one or more radio communication stations, such as the radio communication station 115. For example, the wireless communication network 100 is a 3GPP Long Term Evolution (LTE)/LTE Advanced (LTE-A) mobile telephony network comprising a plurality of radio communication stations 115 (evolved Node B) adapted to manage communications (i.e., transmission and/or reception of information, such as binary data packets) within the geographical coverage area 112.
(9) The content server 110 is a remote entity that is connected to the wireless communication network 100 by means of an external communication network 120, for example Internet.
(10) The content server 110 is configured to provide streaming services of multimedia contents, such as video clips, television content, music, Internet radio, to the clients 107 running on one or more user equipment, such as the user equipment 105 through the radio communication station 115. In other words, the content server 110 is adapted to deliver a (stored or temporarily stored) multimedia content MC (e.g., a multimedia file, such as a video record) to the client 107 running on the user equipment 105 in such a way that the multimedia content MC is directly enjoyable by means of the client 107 substantially from the start of the multimedia content MC delivery.
(11) The multimedia content MC is scalable in the sense explained in the introductory part of the present description. In an embodiment of the invention, the content server 110 is configured to implement the MPEG-DASH standard. As discussed in the introductory part of the present description, according to the MPEG-DASH standard the multimedia content MC is subdivided in a plurality of multimedia content chunks or, simply, chunks ck.sub.i (1≤i≤I, wherein I is a positive integer) of fixed or variable (from chunk to chunk) length. Each chunk ck.sub.i, is associated with a plurality of multimedia content segments or, simply, segments seg.sub.i,j (1≤j≤J, wherein J is a positive integer) available at the content server 110. Each segment seg.sub.i,j of a same chunk ck.sub.i comprises the same portion of the multimedia content MC but each one of the segments seg.sub.i,j is a version of the multimedia content MC portion (i.e., the chunk ck.sub.i) which is encoded with a specific encoding quality, such as for example an encoding bit rate br.sub.i,j (therefore, different segments have a different size, expressed in number of bits, one from the other). In the example, each segment seg.sub.i,j corresponding to a same chunk ck.sub.i is a corresponding version thereof encoded with a specific encoding bit rate br.sub.i,j. Advantageously, the encoding bit rates br.sub.i,j are arranged in an ordered sequence according to the index j. For example, the higher the value of the index j, the higher the encoding bit rate br.sub.i,j (and therefore, the higher the quality of the corresponding segments seg.sub.i,j).
(12) A list of chunks ck.sub.i, segments seg.sub.i,j and their location inside the content server 110 (e.g., expressed by means of respective URLs), bit rates br.sub.i,j, and possibly other parameters associated with the multimedia content (such as starting time and duration of the segment, resolution, codec name, and so on) are organized according to a so-called Media Presentation Description (MPD) file (referred to the multimedia content MC) stored into the content server 110.
(13) In order to enjoy a (desired) streaming service, i.e., the delivery of the (desired) multimedia content MC from the content server 110 to the client 107, the client 107 has first to obtain the MPD file associated with the multimedia content MC. The MPD file can be delivered by the content server 110 to the client 107 by using HTTP, e-mail, or by similar data transmission mechanisms. Once the client 107 has obtained the MPD file, the client 107 can send to the content server 110 a request RQ for receiving (i.e., downloading) a segment seg.sub.i,j of a chunk ck.sub.i, of the multimedia content MC.
(14) In order to properly set the request RQ, the client 107 is configured to run a rate control algorithm enabling the client 107 to identify the most suitable selection of the encoding bit rate of (chunks of) the multimedia content MC to be downloaded from the content server 110, e.g., through the MPEG-DASH standard. For this purpose, the client 107 may estimate an available bandwidth and request the most suitable segment seg.sub.i,j (in terms of number of bits) of the chunk ck.sub.i based on such estimation.
(15) For example, a bandwidth indication can be carried out by measuring the amount of data received during a previous observation time interval, such as for example the amount of data received with the downloading of a segment seg.sub.i,j of a previous chunk ck.sub.i, as depicted in the exemplary rate control algorithm flow chart illustrated in
(16) Making reference to
(17) At this point, the client 107 compares such indication of the amount of bandwidth bw with the bit rate br.sub.i,j of the received segment seg.sub.i,j (block 140).
(18) If the indication of the amount of bandwidth bw is lower than the bit rate br.sub.i,j (exit branch Y of block 140) it means that the available bandwidth assigned to the user equipment 105 is not sufficient for the transmission of segments seg.sub.i,j having such bit rate br.sub.i,j. Therefore, for the next request RQ of a next chunk ck.sub.i+1, the client 107 will select a segment seg.sub.i+1,j having a bit rate br.sub.i+1,j lower than the bit rate br.sub.i,j (block 145, then returning back to block 138).
(19) If instead the indication of the amount of bandwidth bw is equal to or higher than the bit rate br.sub.i,j (exit branch N of block 140) it means that the available bandwidth assigned to the user equipment 105 is sufficient for the transmission of segments seg.sub.i,j having such bit rate br.sub.i,j. Therefore, for the next request RQ of a next chunk ck.sub.i+1, the client 107 will select a segment seg.sub.i+1,j having a bit rate br.sub.i+1,j equal to or higher than the bit rate br.sub.i,j (block 150, then returning back to block 138).
(20) More in general, the rate control algorithm may advantageously exploit a cross-layer approach in which entities of multiple levels of the OSI protocol stack layer of the wireless communication network 100 interact with one another in order to identify the most suitable selection of segments seg.sub.i,j of each chunk ck.sub.i of the multimedia content MC to be provided by the content server 110 to the client 107, such as for example the rate control algorithm disclosed in the International patent application WO 2016/102001. In this case, the selection of the most suitable segments seg.sub.i,j to be downloaded is done by taking into account many measurements, that include the assigned bandwidth, the estimated channel quality, the amount of packet lost (generally referred to as packet loss ratio).
(21) According to an embodiment of the present invention, the bandwidth usage in the coverage area 112 directed to provide multimedia content MC to the client 107 can be advantageously optimized by modifying the request RQ coming from the client 107 by taking into consideration that the QoS of the delivering of a multimedia content MC portion having a low complexity—i.e., a low amount of information content—is very scarcely affected if such portion is encoded and delivered with a lowered bit rate. Indeed, the lower the complexity of a multimedia content MC portion, the lower the influence of a bit rate reduction on the QoS. Delivering a multimedia content MC portion having a low complexity (such as for example comprising a sequence of still frames and/or comprising very few content objects) with a high bit rate is a waste of bandwidth, since a same QoS could be achieved with a lower bit rate.
(22) According to an embodiment of the present invention, the complexity—i.e., the amount of information content—of a multimedia content MC chunk ck.sub.i can be assessed by taking into consideration how the video quality of the corresponding segments seg.sub.i,j vary as the bit rate br.sub.i,j varies. In order to quantify the video quality of a segment seg.sub.i,j, several objective metric can be employed, as described in the following.
(23) Given a segment seg.sub.i,j corresponding to a chunk ck.sub.i and encoded with an encoding bit rate br.sub.i,j, the lowest the encoding bit rate br.sub.i,j, the higher the quality degradation caused by the loss of information introduced by video compression. Different objective metrics can be used to quantify the effective video quality experienced by end users after the encoding process, such as, for instance, the average Peak signal-to-noise ratio (PSNR), the average structural similarity (SSIM), and the average Perceptual Evaluation of Video Quality (PEVQ). Therefore, to each segment seg.sub.i,j corresponding to a chunk ck.sub.i and encoded with a specific encoding bit rate br.sub.i,j, it is possible to calculate a corresponding objective metric describing the video quality of the segment seg.sub.i,j. When the complexity of a chunk ck.sub.i is low, an increment of the encoding bit rate does not bring to a real increment of the objective metric (e.g., the PSNR) that describes the video quality experienced by the end user. For example, having two segments seg.sub.i,n and seg.sub.i,m (with 1≤n≤J and 1≤m≤J) corresponding to a same chunk ck.sub.i and encoded with encoding bit rates br.sub.i,n and br.sub.i,m, respectively, if the complexity (information content) of the chunk ck.sub.i is low, the value of the PSNR of the segment seg.sub.i,m,—i.e., PSNR (seg.sub.i,m)—can be very close to the value of the PSNR of the segment seg.sub.i,n—i.e., PSNR (seg.sub.i,n)—, even if br.sub.i,m is not negligibly higher than br.sub.i,n.
(24) Thus, according to an embodiment of the present invention, bandwidth consumption can be reduced without reaching an unsatisfactory video quality degradation by exploiting video quality information provided by objective metrics to optimally select which segment seg.sub.i,j, of a chunk ck.sub.i has to be downloaded.
(25) In view of the above, according to an embodiment of the present invention, a proxy server 130, also referred to as proxy DASH server, is hosted at the radio communication station 115 to perform an optimization procedure directed to intercept and process the request RQ generated by the client 107, in order to provide a corresponding optimized request RQ′ to the content server 110 in place of the request RQ to optimize the bandwidth usage with a very reduced QoS decreasing.
(26) As described in detail in the following, according to an embodiment of the present invention, such optimized request RQ′ is generated based on the amount of information content of the segments seg.sub.i,j of the chunks ck.sub.i of the multimedia content MC.
(27) Turning now to
(28) At block 210, the client 107 sends a request RQ to the content server 110. The request RQ comprises, for the generic chunk ck.sub.i (i=1 to I) of the group of chunks ck.sub.i forming the multimedia content MC, the request of a segment seg.sub.i,j (encoded with a specific encoding bit rate br.sub.i,j) selected among the available J corresponding segments seg.sub.i,j (j=1 to J) associated to such chunk ck.sub.i. Hereinafter, the index j of the generic segment provided in the request RQ will be identified by means of underlying (e.g., j_), so that the generic segment provided in the request RQ corresponding to the generic i-th chunk ck.sub.i. is identified as seg.sub.i,j and its encoding bit rate is identified as br.sub.i,j.
(29) At block 220, the proxy server 130 intercepts the request RQ and generates a corresponding optimized request RQ′ by carrying out the operations illustrated by means of the flow chart of
(30) The proxy server 130 identifies (block 310) the segment seg.sub.i,j corresponding to the chunk ck.sub.i provided in the request RQ. Such segment seg.sub.i,j is a version of the chunk ck.sub.i encoded with the encoding bit rate br.sub.i,j, i.e., it is the j-th segment among the J corresponding segments seg.sub.i,j (j=1 to J) associated to such chunk ck.sub.i available at the content server 110.
(31) Based on the information provided in the MPD file, the proxy server 130 inspects the various segments seg.sub.i,j corresponding to the chunk ck.sub.i and selects (block 320) a group R={br.sub.i,x}, x=j−n, j−(n−1), . . . j−1, j (wherein n is a positive integer) of encoding bit rates br.sub.i,j comprising encoding bit rates br.sub.i,j which satisfy the following relationship:
PSNR(seg.sub.i,j)−PSNR(seg.sub.i,x)≤TH,
wherein PSNR(seg.sub.i,j) is the PSNR (e.g., expressed in decibel) of the j-th segment seg.sub.i,j corresponding to the chunk ck.sub.i encoded with the encoding bit rate br.sub.i,j, and TH (e.g., expressed in decibel) is a threshold that represents a maximum tolerated quality degradation introduced by selecting the segment seg.sub.i,x in place of the segment seg.sub.i,j provided by the request RQ. Similar considerations apply if in the above relationship, objective metrics different than the PSNR are used to quantify the effective video quality experienced by end users after the encoding process, such as, for instance, the SSIM or the PEVQ.
(32) Then (block 330), the proxy server 130 sets the optimized request RQ′ by replacing the segment seg.sub.i,j corresponding to the chunk ck.sub.i provided in the request RQ with segment seg.sub.i,j=x′ for which its corresponding encoding bit rate br.sub.i,j=x′ is the lowest among the ones belonging to R. If R comprises the encoding bit rate br.sub.i,j only, i.e., if no other than the segment seg.sub.i,j provided in the request RQ is such to introduce a quality degradation lower than TH, such segment seg.sub.i,j is maintained.
(33) These operations can be reiterated for any other chunk ck.sub.i of the multimedia content MC:
(34) In other words, according to an embodiment of the present invention, for the generic chunk ck.sub.i, the proxy server 130 selects the segment seg.sub.i,j having the lowest encoding bit rate br.sub.i,j among the segments seg.sub.i,j for which the quality degradation introduced by selecting them in spite of the segment seg.sub.i,j provided by the original request RQ is lower than a maximum threshold TH.
(35) Turning back to
(36) At block 240, the content server transmits the segment seg.sub.i,j indicated in the optimized request RQ′, which is received by the client 107 at block 250.
(37) According to an embodiment of the invention, the optimization procedure is implemented within a functional module or entity that is provided at the application layer of the OSI protocol stack.
(38) According to an embodiment of the present invention, an indication of the amount of information content (e.g., the PSNR) of the segments seg.sub.i,j of the chunks ck.sub.i is advantageously listed in the MPD file, so that the proxy server 130 can easily obtain them without having to carry out additional calculations.
(39) Making reference to the case in which the amount of information content is quantified by means of the PSNR, exemplary values for the threshold TH may range from 1 dB to 10 dB. According to another embodiment, in which the amount of information content is quantified by means of the SSIM, values for the threshold TH range from 0 to 1,
(40) In any case, the higher the value of the threshold TH, the higher the impact of the optimization procedure on the degradation of the quality level experienced by the user of the user equipment 105. Moreover, the higher the value of the threshold TH, the lower the average traffic load generated by multimedia content MC flows in the radio access interface of the wireless communication network 100. The higher the value of the threshold TH, the higher the goodput experienced by other multimedia content MC flows managed in the same coverage area 112.
(41) For instance, a simulation study carried out by considering an LTE network and the following main simulation parameters: Urban macro cell scenario with 19 cell sites, 1 sector per site, and cell radius set to 250 m, 5 MHz of bandwidth, SIMO 1×2 physical interface, A number of 2-10 users moving at 3 km/h and receiving video and best effort flows, A real video trace (resolution equal to 680×360 and frame rate set to 25 fps) encoded with an average bitrate in the 143 kbps-653 kbps range, Information content quantified by means of PSNR metric,
demonstrated that a threshold TH=4 dB guarantees good performance.
(42) As already mentioned above, thanks to the proposed solution, the bandwidth usage in the coverage area 112 can be advantageously optimized.
(43) Another advantage provided by the present solution is that this bandwidth optimization can be carried out under the control of the operator of the wireless communication network 100, since the optimization procedure is performed by the proxy server 130, which is implemented at the radio communication station 115, which is in turn controlled by the operator of the wireless communication network 100. In this way, instead of acting as a passive carrier of multimedia content MC only, the operator of the wireless communication network 100 may directly participate with the provisioning of multimedia content MC directly controlling and optimizing the overall QoS reachable in the coverage area 112, such as for example by setting the value of the threshold TH, and/or by dynamically adapt it based on the actual traffic load condition.
(44) In order to increase the operation efficiency, the client 107 should be advantageously aware of the possibility that its requests RQ can be modified by the proxy server 130.
(45) Indeed, typical rate control algorithms which may be implemented by the client 107, such as the one previously described by making reference to
(46) In order to solve this drawback, according to an exemplary embodiment of the present invention, the rate control algorithm of
(47) These modifications can be easily integrated in any rate control algorithm implementation, such as for example the one disclosed in the International patent application WO 2016/102001.
(48) According to an embodiment of the present invention, better results can be achieved if the segments seg.sub.i,j of each chunk ck.sub.i stored in the content server 110 are such to be equidistant to each other in term of quality level, instead of encoding bit rate. For example, the quality level of a segment seg.sub.i,j can be calculated with the Mean Opinion Score (MOS) index described in the ITU-T G107 specification. According to an exemplary embodiment of the present invention, the segments seg.sub.i,j of a chunk ck.sub.i are advantageously stored with encoding bit rates br.sub.i,j such to ensure a set of quality levels that are uniformly distributed between MOS=3 and MOS=5.
(49) Naturally, in order to satisfy local and specific requirements, a person skilled in the art may apply to the solution described above many logical and/or physical modifications and alterations. More specifically, although the present invention has been described with a certain degree of particularity with reference to preferred embodiments thereof, it should be understood that various omissions, substitutions and changes in the form and details as well as other embodiments are possible. In particular, different embodiments of the invention may even be practiced without the specific details set forth in the preceding description for providing a more thorough understanding thereof; on the contrary, well-known features may have been omitted or simplified in order not to encumber the description with unnecessary details. Moreover, it is expressly intended that specific elements and/or method steps described in connection with any disclosed embodiment of the invention may be incorporated in any other embodiment.
(50) More specifically, the solution according to an embodiment of the invention lends itself to be implemented through an equivalent method (by using similar steps, removing some steps being not essential, or adding further optional steps); moreover, the steps may be performed in different order, concurrently or in an interleaved way (at least partly).
(51) In addition, analogous considerations apply if the cellular network has a different structure or comprises equivalent components, or it has other operating features. In any case, any component thereof may be separated into several elements, or two or more components may be combined into a single element; in addition, each component may be replicated for supporting the execution of the corresponding operations in parallel. It should also be noted that any interaction between different components generally does not need to be continuous (unless otherwise indicated), and it may be both direct and indirect through one or more intermediaries.
(52) Moreover, although explicit reference has been made to a cellular network based on the LTE/LTE-Advanced standard, it should be understood that it is not in the intentions of the Applicant to be limited to the implementation of any particular wireless communication system architecture or protocol (e.g., Wi-Fi). In this respect, it is also possible to provide that, with suitable simple modifications, the proposed solution may be applied also to other cellular networks, such as the view forthcoming 5G (and beyond) cellular networks.
(53) Moreover, even if in the description reference has been made to a particular rate control algorithm implemented at the client, the concepts of the present invention directly apply in case different rate control algorithm are used.
(54) Furthermore, even if in the description reference has been made to segments seg.sub.i,j whose encoding bit rates br.sub.i,j are arranged in a specific ordered sequence according to the index j, similar considerations apply if different sequences are used. For example, the lower the value of the index j, the higher the encoding bit rate br.sub.i,j.