ABR adjustment for live OTT

10306284 ยท 2019-05-28

Assignee

Inventors

Cpc classification

International classification

Abstract

There is provided a mechanism for providing Adaptive Bit Rate adjustments of media streams like video for live Over the Top distribution without the need to monitor buffer fill levels, which is advantageous for live video distribution over IP networks. An embodiment of the invention is based on monitoring change in the received bitrate level at a client device, and providing a predicted future bandwidth characteristics of the network based on the change. By monitoring the received bitrate and its rate of change over time, a prediction of (near future) available bandwidth in the network is advantageously provided. A drastic drop of the received bitrate may for instance indicate that the available bandwidth will become too low to sustain a currently received media stream, and the system can accordingly initiate a decision to request a lower video quality.

Claims

1. A method for adaptive bitrate adjustments in an IP network, comprising: monitoring a received bitrate of a media stream with a preset bitrate defined by said media stream; determining a rate of change of said received bitrate based on a comparison of a first received bitrate during a first time interval with a second received bitrate during a second time interval; and adjusting said preset bitrate based on said rate of change.

2. The method of claim 1, wherein in response to said determined rate of change being negative, said method further comprises: determining if the received bitrate is predicted to reach a minimum threshold level within a threshold time period, and in response to determining that the received bitrate is predicted to reach the minimum threshold level within the threshold time period, providing a new bitrate, relatively lower than the preset bitrate; and adjusting said preset bitrate to be said new bitrate.

3. The method of claim 2, wherein said threshold time period is selected to be relatively shorter the relatively closer the received bitrate level is to the minimum threshold level.

4. The method of claim 1, wherein in response to said determined rate of change being positive or zero, said method further comprises: temporarily increasing a transfer bitrate of the video stream to a relatively higher new bitrate, determining if said new bitrate is applicable; and in response to determining that said new bitrate is applicable, adjusting said preset bitrate to be said new bitrate.

5. The method of claim 4, wherein said temporarily increasing the transfer bitrate of the video stream further comprises adding a forwards error correction code to said media stream.

6. The method of claim 4, wherein said temporarily increasing said transfer bitrate of the video stream further comprises transferring said media stream with a momentarily relatively higher bitrate by detaining said media stream and subsequently transmitting a short burst of data.

7. The method of claim 5, wherein said determining if said new bitrate applicable is based on at least one of: said determined rate of change for subsequent sample intervals being positive or zero, monitoring of packet drop ratio, and comparing of interpacket arrival time and interpacket transfer time.

8. The method of claim 3, further comprising selecting said new bitrate from a list of available bitrates.

9. The method of claim 3, wherein in response to said determined new bitrate being below a minimum value, defined as a bitrate value which is too low to sustain live transfer of said media stream, said new bitrate, is selected based on manual choice or by a customer profile.

10. The method of claim 9, wherein said manual choice or customer profile comprises at least one of selection whether to abandon live transfer, and selection of priority of quality level and/or prioritized media content.

11. The method of claim 9, where said customer profile is retrieved from an external source.

12. The method of claim 1, wherein if said determined rate of change is less than a predetermined value or zero, said adjusting of said preset bitrate comprises maintaining said preset bitrate.

13. The method of claim 2, wherein in response to said determined rate of change being positive or zero, said method further comprises: temporarily increasing a transfer bitrate of the video stream to a relatively higher new bitrate, determining if said new bitrate is applicable; and in response to determining that said new bitrate is applicable, adjusting said preset bitrate to be said new bitrate.

14. The method of claim 13, wherein said temporarily increasing the transfer bitrate of the video stream further comprises adding a forwards error correction code to said media stream.

15. The method of claim 14, wherein said temporarily increasing said transfer bitrate of the video stream further comprises transferring said media stream with a momentarily relatively higher bitrate by detaining said media stream and subsequently transmitting a short burst of data.

16. The method of claim 5, wherein said temporarily increasing said transfer bitrate of the video stream further comprises transferring said media stream with a momentarily relatively higher bitrate by detaining said media stream and subsequently transmitting a short burst of data.

17. The method of claim 6, wherein said determining if said new bitrate applicable is based on at least one of: said determined rate of change for subsequent sample intervals being positive or zero, monitoring of packet drop ratio, and comparing of interpacket arrival time and interpacket transfer time.

18. The method of claim 10, where said customer profile is retrieved from an external source.

19. A node in a communication network comprising: at least one processor configured to execute computer readable instructions for, monitoring a received bitrate of a media stream with a preset bitrate defined by said media stream; determining a rate of change of said received bitrate based on a comparison of a first received bitrate during a first time interval with a second received bitrate during a second time interval; and adjusting said preset bitrate based on said rate of change.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The above, as well as additional objects, features and advantages of the present invention, will be better understood through the following illustrative and non-limiting detailed description of preferred embodiments of the present invention, with reference to the appended drawings, where the same reference numerals will be used for similar elements, wherein:

(2) FIG. 1 is a schematic block diagram illustrating a media distribution system according to an embodiment of the present invention; and

(3) FIGS. 2 to 4 are diagrams schematically illustrating monitoring of a received bitrate level at a client as a function of time according to embodiments of the invention.

(4) All the figures are schematic, not necessarily to scale, and generally only show parts which are necessary in order to elucidate the invention, wherein other parts may be omitted or merely suggested.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

(5) FIG. 1 is a block diagram schematically illustrating a media distribution system 100 of IP type for live distribution of e.g. video, in view of which aspects of the inventive concept will be described. At an ingress point 50 a broadcast location (TV network, local TV studio, cable system, etc.) the original encoded media stream is re-encoded in an equipment, transcoders 51, into new media content in packet streams with different quality, here represented as media streams high H, medium M, and low L. The media content is distributed via a network 120 to a playout server 130, from which a client device 150 at a viewer location requests a media stream of selected quality level (H, M, L) to display. Requests can be made to the playout server 130 or some special server handling control communication from the devices. The selected quality level is associated with an expected ABR-level or encoded bitrate level Benc (or preset bitrate BO, or transfer bitrate from the source) which, as long as the bandwidth capacity of the network 120 is sufficient, will be received as a received bitrate BR at the client device 150. The client device 150 comprises means for processing received media content and to select media content to display on a display 151.

(6) According to an embodiment of the invention, in the distribution network system 100, the playout server 130 is arranged to determine when in time video and audio in the media stream shall be presented at the client device 150. The playout server 130 provides playout time stamps to the data stream to control when video and audio data shall be presented. The system is arranged for employing mechanisms of the present inventive concept to determine if and when to adjust the ABR level and/or optionally to request a suitable new video bitrate, and the client device is thus not required to contain a large buffer. Mechanisms to determine when to decrease and increase the video bitrate is presented herein:

(7) adjusting the video bitrate based on monitoring bitrate at a client device, and determining if the bitrate of receiving data is sufficient or not for the video stream based on the rate of change of the monitored bitrate at the client device, decreasing the video bitrate if the monitored bitrate at the client device is getting too low, testing an increase of the video bitrate if the bitrate at the client device seems sufficient, and determining which new bitrate is applicable.

(8) According to an embodiment of the invention, in order to provide the ABR adjustment, the client device 150 is arranged to monitor the received bitrate BR over time. According to embodiments BR is monitored continuously, at each instant of time, or repeatedly at predetermined time intervals. The predetermined time intervals are preferably selected between 1-10 times per second.

(9) An exemplifying diagram of a bitrate change measurement according to an embodiment of the invention is illustrated in FIG. 2, where BR as a function of time, BR(t), is plotted in a diagram (y-axis corresponding to measured bitrate B, and x-axis corresponding to time (t) is plotted with respect to time.

(10) In the diagram, the three available bitrate levels High, H, medium, M, and low, L, of the distributed media are plotted in the diagram to illustrate the different ABR rates. At a selected time instance t.sub.N the rate of change ?=dBR(t.sub.N)/dt of the received bitrate BR is determined. In FIG. 2, the plotted BR as a function of time BR(t) is decreasing and the rate of change ? is negative. Depending on the derivative of the monitored bitrate at the selected time instance, a prediction if the received bitrate BR is expected to reach a critical value defined by a predetermined minimum threshold level BW.sub.min (here selected to be the low available bitrate L) within a threshold time period T.sub.x is made. In FIG. 2 the deviation from the expected bitrate B.sub.enc (equal to M) is negative and not neglectable. At this particular time instance, a decision to change the preset bitrate of the received media stream is made, since with the current change rate, the predetermined minimum threshold level BW.sub.min will be reached within the preset threshold time T.sub.x. We can thus predict that BR(t) will cross L based on dBR/dt and adjust the ABR level accordingly.

(11) The monitored received bitrate BR is drastically decreasing in this scenario, and since it is determined that the predetermined minimum threshold level BW.sub.min will be reached within the threshold time period T.sub.x, a new lower bitrate, here selected to correspond to a medium quality L data stream, is determined and requested from the playout server 130 by the client device 150. The preset bitrate is thus set to the new lower bandwidth and subsequently the expected bitrate B.sub.enc will correspond to the low L.

(12) According to an embodiment, the threshold time period T.sub.x is selected to be shorter, the closer the received bitrate level BR is to the minimum threshold L.

(13) According to an embodiment of the present inventive concept, if it is decided that the rate of change ? of the received bitrate BR is positive or zero, i.e. the bitrate is increasing or is constant, the method further provides steps for attempting to increase the current preset bitrate to a new higher bitrate. The method provides testing a higher bitrate performed by temporarily increasing a transfer bitrate of the video stream to a higher new bitrate Bx, and determining if the new bitrate Bx is applicable. For example, 9 packets are detained before transmission and at the arrival of a 10'th packet all ten packets are transmitted back-to-back. As the transfer bitrate is increased the received bitrate BR at the client device is monitored and the rate of change ? is determined for a number of time instances.

(14) In an exemplifying embodiment, the rate of change ? is determined each time a packet is received. FIG. 3 illustrates four packets being received at time instances t=t.sub.1p, t.sub.2p, t.sub.3p, and t.sub.4p, respectively. The expected bitrate B.sub.enc is here equal to H. The received bitrate BR is monitored and for each packet arrival, the rate of change ? (dBR(t)/dt) changes. In FIG. 3, at t.sub.1p, the rate of change is negative, at t.sub.2p the rate of change is zero, at t.sub.3p the rate of change is positive at t.sub.4p the rate of change is zero. In the scenario shown in FIG. 3, the order of magnitude of the threshold time T.sub.x is more than 4 times of the interpacket arrival times, and in this case BR is not predicted to reach the minimum threshold level and no request for a lower ABR level is performed. The drop in received bitrate BR is here only temporary and not predicted to require a change of the requested bitrate B.sub.enc.

(15) Referring now to FIG. 4, which illustrates a scenario of the BR response when monitoring the received bitrate BR of the transferred data stream at the receiving client, at time t.sub.M a testing period T is initiated, in which the transferred data bitrate is first decreased by detaining the media stream and subsequently increased by transmitting a short burst of data. In this example, it is determined during the testing period that the increase in transferred data bitrate is applicable, and a new preset bitrate (H), i.e. a quality level that the received bitrate is estimated to be able to support, is selected at a time t.sub.S in FIG. 4.

(16) According to an embodiment of the inventive concept, the temporary increase in the transfer bitrate is provided and it is determined if the temporary increase in the transfer bitrate is applicable based on if the determined rate of change ? for subsequent sample intervals is positive or zero. However, alternatively or in addition the capability of the network may be monitored to see if the distribution system can handle an increase in transfer rate. According to an embodiment packet drop ratio is monitored, and where increase in packet drop is utilized to indicate whether the tested transfer bitrate is too high to be delivered through the network. According to an alternative embodiment, the applicability of the tested transfer bitrate is performed by comparing interpacket arrival time at the client device and interpacket transfer time at the sending device (server at data center, telestation, broadcaster, etc.) transmitting the video stream to the device. If the interpacket arrival time and interpacket transfer time show a significant difference, the distribution system is not able to support the tested transfer bitrate/temporary bitrate. If it is determined that the network system can handle the temporarily increased transferred bitrate a decision to set the preset bitrate (B.sub.enc or BO) to a new higher bitrate is taken. According to an embodiment, the selection of a new bitrate Bx may be made from a list of available bitrates.

(17) According to an embodiment, the step of temporarily increasing the transfer bitrate of the video stream is provided by adding a forwards error correction, FEC, code to said media stream.

(18) According to the embodiment illustrated in FIG. 3, the step of temporarily increasing the transfer bitrate is provided by transferring the media stream with a momentarily higher bitrate by detaining the media stream and subsequently transmitting a short burst of data. In an example, a media stream is temporarily detained at the server, and subsequently sent with the highest available transfer bitrate 10 Mbit per second during 1 second. Now consider if the network is only capable of transporting the media stream at a 5 Mbit per second transfer bitrate, then at the client device, only half of the media stream has arrived during a 1 second window, thus the monitored bitrate will be lower than the expected 10 Mbit per second. This means that a ABR level, i.e., video stream with 5 Mbit per second or lower needs to be selected.

(19) According to an embodiment of the inventive concept, the new bitrate Bx is selected based on manual choice or by a customer profile. This is applicable for instance if it is determined that the new bitrate Bx is below a predetermined minimum value defined as a bitrate value which is too low to sustain live transfer of the media stream. If live transfer of the media stream can no longer be supported, i.e. the dB/dt is negative and continues beyond the bit rate level L, the user may want to use a manual choice or a customer profile comprising at least one of selection between whether to abandon live transfer, and selection of priority of quality level and/or prioritized media content. When the capacity of the distribution network is very low, the user may prioritize to receive high quality of the sound, while the video data is reduced to only showing still pictures with some preselected frequency. The customer profile may be retrieved from an external source, such as a CRM system, Google account or other source.