WO2018002687A1 - Estimation d'un niveau de tampon dans un dispositif de lecture - Google Patents

Estimation d'un niveau de tampon dans un dispositif de lecture Download PDF

Info

Publication number
WO2018002687A1
WO2018002687A1 PCT/IB2016/053822 IB2016053822W WO2018002687A1 WO 2018002687 A1 WO2018002687 A1 WO 2018002687A1 IB 2016053822 W IB2016053822 W IB 2016053822W WO 2018002687 A1 WO2018002687 A1 WO 2018002687A1
Authority
WO
WIPO (PCT)
Prior art keywords
playout
data
time
period
estimated
Prior art date
Application number
PCT/IB2016/053822
Other languages
English (en)
Inventor
Anders Jonsson
Martin Isaksson
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/IB2016/053822 priority Critical patent/WO2018002687A1/fr
Publication of WO2018002687A1 publication Critical patent/WO2018002687A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6583Acknowledgement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Definitions

  • the embodiments relate generally to streaming media, such as video or audio data, and, in particular, to estimating a media buffer level in a playout device that is receiving a media stream.
  • Streaming media such as movies, video clips, audio, and the like, via a data network is increasingly popular, and accounts for a substantial portion of internet traffic today. Even more than other types of data, media data must be presented to a user by a playout device, such as a smartphone, in a relatively continuous uninterrupted fashion to avoid user dissatisfaction. Playout of media data, such as a video, that lags, that continually switches resolutions, and/or that pauses due to rebuffering, often causes user dissatisfaction.
  • Adaptive streaming technologies such as Dynamic Adaptive
  • Streaming over HTTP DASH
  • HTTP Live Streaming HLS
  • a playout device may request a version of media content that is suitable for a current bandwidth of a communications path between a media server that serves the media data and the playout device. If the bandwidth is relatively high, the playout device may request a relatively high bitrate version of the media content. If the bandwidth is relatively low, the playout device may request a relatively low bitrate version of the media content. If the bandwidth changes from one state to another while the media data is being streamed, the playout device may request a different bitrate version that matches the current bandwidth.
  • DASH Dynamic HTTP
  • HLS HTTP Live Streaming
  • one or more devices reside in the communications path between the media server and the playout device.
  • a base station resides in the communications path between the media server and the playout device.
  • a base station may serve many devices, including one or more playout devices, relatively concurrently.
  • the total available bandwidth between the base station and the devices served by the base station at any given time is finite, and thus, the bandwidth of the communications path between the base station and a specific playout device may change substantially over a period of time due to changing radio conditions or bandwidth demands of other devices served by the base station. For a playout device receiving a stream of media content, this can result in rebuffering, lag, and/or changes in resolution of media content which tend to lead to user dissatisfaction.
  • the embodiments relate to the estimation of a buffer level in a playout device.
  • a computing device such as a cellular base station, is in a path between a media server and a playout device, such as a smartphone, laptop computer, computing tablet, or the like.
  • the computing device receives media content, referred to herein as playout data, such as video or audio content, from a media server and transmits the playout data to the playout device over a period of time.
  • the computing device based on the playout data being provided to the playout device, estimates the buffer level in the playout device.
  • the estimation of the buffer level may be used for any desired purpose, including, by way of non-limiting example, prioritization of data to the playout device, presentation of information regarding estimated buffer levels and/or estimated user experiences to an operator, and the like.
  • a method for estimating a buffer level in a playout device includes determining, by a computing device, an estimated initial buffer level of buffered playout data in the playout device. The method further includes integrating, over a period of time, a difference between a flow rate of playout data associated with the computing device and an estimated playout rate at which the playout device plays out the playout data to derive a buffer difference value over the period of time. The method further includes determining an estimated subsequent buffer level based at least in part on the estimated initial buffer level and the buffer difference value. [0007] In another embodiment, a computing device is provided.
  • the computing device includes an initial buffer level determination module operable to determine an estimated initial buffer level of buffered playout data in a playout device.
  • the computing device further includes an integration module operable to integrate, over a period of time, a difference between a flow rate of playout data associated with the computing device and an estimated playout rate at which the playout device plays out the playout data to derive a buffer difference value over the period of time.
  • the computing device further includes a subsequent buffer level determination module operable to determine an estimated subsequent buffer level based at least in part on the estimated initial buffer level and the buffer difference value.
  • a computer program product is provided.
  • the computer program product is stored on a non-transitory computer-readable storage medium and includes instructions configured to cause a processor device to carry out the step of determining an estimated initial buffer level of buffered playout data in a playout device.
  • the instructions further cause the processor device to carry out the step of integrating, over a period of time, a difference between a flow rate of playout data associated with the computing device and an estimated playout rate at which the playout device plays out the playout data to derive a buffer difference value over the period of time.
  • the instructions further cause the processor device to carry out the step of determining an estimated subsequent buffer level based at least in part on the estimated initial buffer level and the buffer difference value.
  • the computing device includes a transceiver configured to communicate with a playout device, and a processor device coupled to the transceiver and configured to determine an estimated initial buffer level of buffered playout data in the playout device.
  • the processor device is further configured to integrate a difference between a flow rate of playout data associated with the computing device and an estimated playout rate at which the playout device plays out the playout data to derive a buffer difference value over the period of time.
  • the processor device is further configured to determine an estimated subsequent buffer level based at least in part on the estimated initial buffer level and the buffer difference value.
  • Figure 1 is a block diagram of an environment in which embodiments may be practiced
  • Figure 2 is a flowchart of a method for estimating a buffer level of a buffer in a playout device according to one embodiment
  • Figure 3 is a flowchart of a method for determining the estimated initial buffer level according to one embodiment
  • Figure 4 illustrates example mechanisms for determining a flow rate and an estimated playout rate according to one embodiment
  • Figure 5 is block diagram of the environment illustrated in Figure 1 , with some components removed for purposes of illustration, illustrating a chunk interval time between two chunks of playout data according to one embodiment
  • Figures 6A-6C illustrate graphs that illustrate data over a period of time during a simulation of the embodiments, wherein a video server device sends a video file to the playout device over an approximate 190 second period of time;
  • Figure 7 is a block diagram illustrating a presentation of information based on estimated subsequent buffer levels of a plurality of playout devices according to one embodiment.
  • second data rate and does not imply a priority, a type, an importance, or other attribute, unless otherwise stated herein.
  • the term “about” used herein in conjunction with a numeric value means any value that is within a range of ten percent greater than or ten percent less than the numeric value.
  • the embodiments relate to the estimation of a buffer level in a playout device.
  • a computing device such as a cellular base station, is in a
  • the computing device receives media content, referred to herein as playout data, such as video or audio content, from a media server and transmits the playout data to the playout device over a period of time.
  • playout data such as video or audio content
  • the computing device based on the playout data being provided to the playout device, estimates the buffer level in the playout device.
  • the estimation of the buffer level may be used for any desired purpose, including, by way of non- limiting example, prioritization of data to the playout device, presentation of information regarding estimated buffer levels and/or estimated user experiences to an operator, and the like.
  • the embodiments facilitate the estimation of the buffer level in the playout device without the need for direct communication from the playout device regarding the buffer level.
  • the embodiments do not require any proprietary interface between the playout device and the computing device, or any changes in existing
  • FIG. 1 is a block diagram of an environment 10 in which
  • the environment 10 includes a playout device 12 that is used by a user 14.
  • the playout device 12 includes a memory 16 and a display device 18; however, the playout device 12 in other embodiments may have only an audio output device (not illustrated), such as a speaker.
  • the playout device 12 can comprise any computing device capable of receiving media content, referred to herein as playout data, such as video data and/or audio data, and that is capable of playing out such playout data, either to a downstream device or to an output device, such as a speaker or the display device 18.
  • the playout device 12 may comprise a smartphone, a computing tablet, a desktop or laptop computer, or the like.
  • the playout device 12 receives data, such as playout data 20-1 (generally, playout data 20) from a computing device 22.
  • the playout data 20 is sometimes referred to herein as a playout data "chunk” because the playout data 20 is typically sent to the playout device 12 in "chunks" of playout data 20 that may be unrelated to a number of network packets required to communicate the playout data 20 to the playout device 12.
  • the size of a playout data chunk is determined at the time the media is encoded by a content provider.
  • the computing device 22 may comprise any processing device that operates to provide data to other devices. Solely for purposes of illustration, the embodiments will be discussed in the context of a cellular communications network, and the computing device 22 may comprise, for example a base station, such as an Evolved Universal Terrestrial Radio Access Network (E-UTRAN) Node B (eNodeB) base station. However, the embodiments are not limited to cellular networks or base stations and have applicability in any context where one device provides media content to another device.
  • E-UTRAN Evolved Universal Terrestrial Radio Access Network
  • eNodeB Node B
  • the computing device 22 in some embodiments, establishes wireless communication links 24-1 , 24-3 with devices 26-1 , 26-2, respectively, and a wireless communication link 24-2 with the playout device 12.
  • the devices 26-1 , 26-2 (generally, devices 26) may also be playout devices or may not be playout devices. While solely for purposes of illustration only three devices are illustrated as being serviced by the computing device 22, in practice the computing device 22 may be servicing a relatively large number of devices that are within a coverage area of the computing device 22, and each device being serviced is competing, to some extent, with the other devices for data from the computing device 22.
  • the computing device 22 includes a processor device 28, a memory 30 in which data is stored, as discussed in greater detail below, and a device scheduler module 32 that schedules the delivery of data to and receipt of data from the devices 26 and the playout device 12.
  • the processor device 28 may comprise one or several general-purpose or special-purpose processors or other microcontrollers programmed with suitable software programming instructions and/or firmware to carry out some or all of the functionality of the computing device 22 described herein.
  • the processor device 28 comprises various digital hardware blocks (i.e., one or more application-specific integrated circuits (ASICs), one or more off-the-shelf digital or analog hardware components, or a combination thereof) configured to carry out some or all of the functionality of the computing device 22 described herein.
  • ASICs application-specific integrated circuits
  • off-the-shelf digital or analog hardware components or a combination thereof
  • the computing device 22 includes one or more transceivers 34, which may include a wireless transceiver for communication with the devices 26 and the playout device 12, and a physical media transceiver, such as an electrical and/or optical communications transceiver, for communications with other devices, such as a video server device 36.
  • the transceivers 34 include components configured to facilitate sending and receiving data to and from other devices, such as the playout device 12, the devices 26 and the video server device 36.
  • a display device 38 may be used to, for example, provide information to an operator.
  • a storage device 40 may be used to store persistent data, including data necessary and/or suitable for implementing the functionality described herein, as well as for storing complex programming instructions which, when executed on the processor device 28, may implement all or part of the functionality described herein.
  • Some embodiments of the disclosure may be implemented as a computer program product that is stored on a computer- readable storage medium, such as the storage device 40, and that includes complex programming instructions that are configured to cause the processor device 28 to carry out the steps described herein.
  • the video server device 36 maintains a plurality of video files 42-1 - 42-N (generally, "video files 42") that may be requested by the playout device 12 for playout to the user 14.
  • the video files 42-1 - 42-N may comprise any type of video, including movies, television shows, video clips, or the like.
  • each video file 42 may have a number of different versions 44-1 - 44-3 (generally "versions 44"), each of which is encoded at a different bitrate.
  • the version 44-1 may be encoded at a 64 Kbps bitrate
  • the version 44-2 at a 150 Kbps bitrate
  • the version 44-3 at a 440 Kbps bitrate.
  • the requesting playout device may request a particular version 44 based on the bandwidth of the communication path between the video server device 36 and the playout device 12.
  • the bandwidth of the communication path between the video server device 36 and the playout device 12 may change. For example, initially the bandwidth of the communication path between the video server device 36 and the playout device 12 may be sufficient to serve the version 44-2 to the playout device 12.
  • the bandwidth of the communication path between the video server device 36 and the playout device 12 may decrease, and the playout device 12 may switch to the version 44-1 to decrease or eliminate rebuffering in the playout device 12 that may otherwise occur.
  • the bandwidth of the communication path between the video server device 36 and the playout device 12 may change for any number of reasons.
  • the bandwidth may change due to processing loads on the video server device 36 and/or computing device 22, and/or due to competition for bandwidth from the devices 26-1 , 26-2, or due to a changing quality of wireless
  • the playout device 12 requests a video file, such as the video file 42-1 , from the video server device 36.
  • This request travels from the playout device 12 to the computing device 22 and then to the video server device 36.
  • the request may include a desired bitrate to facilitate selection of a particular version 44.
  • the video server device 36 selects a version 44 of the video file 42-1 and begins sending playout data 20 towards the playout device 12.
  • the computing device 22 receives the playout data 20 at a particular rate. Initially, the playout data 20 may be sent at a relatively high data rate in a prebuffering phase of playout, wherein the playout device 12 fills a buffer 46 with playout data 20.
  • the video server device 36 may essentially send playout data 20 at as high a rate as possible to reduce delays in playout, because the playout device 12 may not playout to the user 14 during this prebuffering phase.
  • the buffer 46 may be filled to a desired level before playout occurs.
  • the desired level may be based on any of a number of different criteria but is typically based on an amount of time, such as 10 seconds worth of playout data.
  • the computing device 22 may recognize this prebuffering phase, and may tally the amount of data received by the computing device 22 during the prebuffering phase in order to determine an estimated initial buffer level 48 of the buffer 46.
  • a predetermined estimated initial buffer level 50 may be
  • the playout device 12 After the buffer 46 is at the desired level, the playout device 12 requests playout data 20 from the video server device 36 at a rate sufficient to maintain the buffer 46 at the desired level and based on the selected version 44. Under ideal conditions, the playout device 12 would receive the playout data 20 at the same rate the playout data 20 is requested, the buffer level of the buffer 46 would remain relatively constant, and video file 42-1 would be played out to the user 14 without lag, changes in resolution, or the like.
  • the computing device 22 determines an estimated playout rate 52 of the playout device 12.
  • the computing device 22 also determines a flow rate 54 associated with the computing device 22.
  • the computing device 22 integrates a difference between the flow rate 54 and the estimated playout rate 52 over a period of time to derive a buffer difference value 56. Based at least in part on the estimated initial buffer level 48 and the buffer difference value 56, the computing device 22 determines an estimated
  • the computing device 22 may take any number of different actions, including, by way of non-limiting example, prioritizing the sending of subsequent playout data 20-1 to the playout device 12 over the other devices 26, and/or presenting data on the display device 38 that characterizes an estimated video playout experience of the user 14 of the playout device 12.
  • Figure 2 is a flowchart of a method for estimating the buffer level of the buffer 46 in the playout device 12 according to one embodiment.
  • Figure 2 will be discussed in conjunction with Figure 1.
  • the computing device 22 receives the playout data 20 at a particular rate, and the device scheduler module 32 schedules the playout data 20 to be sent to the playout device 12, also at a particular rate.
  • the playout device 12 receives the playout data 20, and sends acknowledgements (ACKs) 60 indicating successful receipt to the computing device 22.
  • ACKs acknowledgements
  • the computing device 22 determines an estimated initial buffer level 48 of buffered playout data 20 in the buffer 46 in the playout device 12 ( Figure 2, block 1000).
  • the computing device 22 may determine the estimated initial buffer level 48 of buffered playout data 20 based on the amount of playout data 20 sent during the initial pre-buffering phase, as described in greater detail below with regard to Figure 3, or the computing device 22 may access predetermined configuration information, such as the estimated initial buffer level 50, that identifies the estimated initial buffer level 48.
  • the computing device 22 then integrates, over a period of time, a difference between the flow rate 54 of the playout data 20 associated with the computing device 22 and the estimated playout rate 52 at which the playout device 12 plays out the playout data 20 to derive the buffer difference value 56 over the period of time ( Figure 2, block 1002).
  • Figure 2, block 1002 Mechanisms for determining the flow rate 54 of the playout data 20 associated with the computing device 22 and the estimated playout rate 52 at which the playout device 12 plays out the playout data 20 are discussed below with regard to Figures 4 and 5.
  • the computing device 22 determines the estimated subsequent buffer level 58 based at least in part on the estimated initial buffer level 48 and the buffer difference value 56 ( Figure 2, block 1004).
  • the method for estimating the buffer level of the buffer 46 in the playout device 12 may take substantially the following form: wherein S /eve/ is the estimated subsequent buffer level 58, B prebU ff is the estimated initial buffer level 48 at a start of playout by the playout device 12 at a time t1, Rfiow ' ⁇ s the flow rate 54 associated with the computing device 22, R p i ay out is the estimated playout rate 52 of the playout device 12, and t2 is the time the receipt of playout data 20 stops being received by the computing device 22.
  • the computing device 22 may continually and iteratively determine the estimated subsequent buffer level 58, and, if the estimated subsequent buffer level 58 falls below a threshold, the computing device 22 may take an action, such as prioritizing the scheduling of subsequent playout data 20 to the playout device 12 over the scheduling of subsequent data to the devices 26-1 , 26-2.
  • Figure 3 is a flowchart of a method for determining the estimated initial buffer level 48 according to one embodiment.
  • Figure 3 will be discussed in conjunction with Figure 1.
  • the video server device 36 begins to send an initial plurality of data blocks, or chunks, of playout data 20-2 toward the playout device 12.
  • the computing device 22 receives this initial plurality of playout data 20-2 destined for the playout device 12, starting at a first point in time, at a first data rate ( Figure 3, block 2000).
  • the computing device 22 determines that the first data rate suggests a pre-buffering phase and maintains a playout data counter that keeps track of the amount of playout data 20 sent to the playout device 12 while receiving the data chunks at the first data rate.
  • the video server device 36 After the pre-buffering phase, the video server device 36 begins to send the data chunks at a second rate that may be substantially less than the first rate. This is because after the pre-buffering phase, the playout device 12 requests the playout data 20 as needed.
  • Each data chunk may contain, for example, 5 or 10 seconds of video, and thus, the playout device 12 may request playout data 20 at a 5 or 10 second interval.
  • the computing device 22 determines, at a subsequent point in time, that a subsequent plurality of data chunks are received at a second data rate that is less than the first data rate ( Figure 2, block 2002).
  • the computing device 22 determines the estimated initial buffer level 48 of buffered playout data 20 in the playout device 12 based on the amount of playout data 20 contained in the initial plurality of data chunks sent to the playout device 12 from the first point in time to the subsequent point in time ( Figure 2, block 2004).
  • the computing device 22 may put the estimated initial buffer level 48 in terms of time, such as seconds of playout data 20, rather than size. In one embodiment, and as discussed in greater detail below with regard to Figures 4 and 5, the computing device 22 may determine the estimated playout rate 52 at which the playout device 12 is playing out the playout data 20. The computing device 22 may then determine the estimated initial buffer level 48 in terms of time by dividing the amount of playout data 20 contained in the initial plurality of data chunks sent to the playout device 12 from the first point in time to the subsequent point in time by the estimated playout rate 52.
  • the estimated initial buffer level 48 is 10 seconds.
  • Figure 4 illustrates example mechanisms for determining the flow rate 54 and the estimated playout rate 52.
  • Block 62 relates to alternative
  • Block 64 relates to alternative mechanisms for determining the estimated playout rate 52 based on a second quantity of playout data 20 and a second period of time that is greater than the first period of time. While, as will be discussed below, there are a variety of mechanisms by which the flow rate 54 and the estimated playout rate 52 may be determined, generally, the flow rate 54 is determined based on a relatively short period of time, and the estimated playout rate 52 is based on a longer period of time.
  • the flow rate 54 attempts to quantify a rate at which playout data 20 is being sent to the playout device 12 at a given instant in time, and the estimated playout rate 52 attempts to quantify a rate at which the playout device 12 plays out the playout data 20 at the same instant in time.
  • the computing device 22 can estimate whether the buffer level of the buffer 46 is increasing or decreasing. In conjunction with the estimated initial buffer level 48, the computing device 22 can determine the estimated subsequent buffer level 58.
  • the flow rate 54 may be determined based on the quantity of playout data 20 received by the computing device 22 from the video server device 36 over the first period of time. In particular, the flow rate 54 may be determined based on the first quantity of playout data 20 received over the first period of time divided by the first period of time. In another embodiment, as illustrated at block 66-2, the flow rate 54 may be determined based on a quantity of playout data 20 scheduled by the device scheduler module 32 to be sent to the playout device 12 over the first period of time. In yet another embodiment, as illustrated at block 66-3, the flow rate 54 may be determined based on a quantity of playout data acknowledged by the playout device 12 over the first period of time. For each of the mechanisms discussed in blocks 66-1 - 66-3, the first period of time may comprise, by way of non-limiting example, less than one second, or less than 100 milliseconds, or less than 10 milliseconds, or one millisecond.
  • the estimated playout rate 52 may be determined based on the quantity of playout data received by the computing device 22 from the video server device 36 over the second period of time. In particular, the estimated playout rate 52 may be determined based on the quantity of playout data 20 received over the second period of time divided by the second period of time. In another embodiment, as illustrated at block 68-2, the estimated playout rate 52 may be determined based on the quantity of playout data 20 scheduled by the device scheduler module 32 to be sent to the playout device 12 over the first period of time. In yet another embodiment, as illustrated at block 68-3, the estimated playout rate 52 may be determined based on the quantity of playout data 20 acknowledged by the playout device 12 over the first period of time.
  • the second period of time may comprise, by way of non-limiting example, a period of time greater than one second, greater than five seconds, greater than 10 seconds, or greater than 20 seconds.
  • the estimated playout rate 52 is based on the mean of a moving 20 second window, but the embodiments are not limited to a moving window and could comprise any function or formula directed to estimating a playout rate over time, including, by way of non-limiting example, a static window-based formula, a window-based moving average, an exponential moving average, or the like.
  • Figure 5 is block diagram of the environment 10, with some
  • the video server device 36 sends one chunk of playout data 20-3 to the computing device 22 at a time T1 in response to a request for playout data 20 from the playout device 12 (not illustrated).
  • the video server device 36 sends another successive chunk of playout data 20-4 to the computing device 22 at a time T2 in response to a successive request for playout data 20 from the playout device 12.
  • the chunk interval time 70 is the time between T1 and T2.
  • the chunk interval time 70 may vary depending on a number of factors, such as the encoding of the video file 42-1 , but in practice is often in a range of between about 5 seconds and about 15 seconds.
  • the computing device 22 determines the estimated playout rate 52 based on the chunk interval time 70 between the first chunk of playout data 20-3 received by the computing device 22 and the successive second chunk of playout data 20-4 received by the computing device 22.
  • the second period of time comprises the chunk interval time 70
  • the second quantity of playout data 20 comprises the quantity of playout data 20 in the first chunk of playout data 20-3.
  • FIGS 6A-6C illustrate graphs 72-A - 72-C, respectively, that illustrate data over a period of time during a simulation of the embodiments, wherein the video server device 36 sends a video file 42 to the playout device 12 over an approximate 190 second period of time.
  • the graph 72-A has an X-axis of time, in seconds, and a Y-axis of a rate in megabits per second (Mbits/s).
  • a solid line 74 indicates a determined flow rate 54 by the computing device 22 at each instant in time. In this example, the flow rate 54 was determined based on the quantity of playout data 20 acknowledged by the playout device 12 over a period of time equal to one second.
  • a dashed line 78 indicates an estimated playout rate 52 at each instance in time.
  • the estimated playout rate 52 is based on a mean of the amount of playout data 20 acknowledged by the playout device 12 over a twenty second window 80.
  • the estimated playout rate 52 may change every 20 seconds.
  • the graph 72-B has an X-axis of time, in seconds, and a Y-axis of the total amount of sent data over time.
  • the graph 72- B is based on integrating the determined flow rate 54 (line 74, graph 72-A) and the estimated playout rate 52 (line 78, graph 72-A) at an integration period of one second.
  • the graph 72-C has an X-axis of time, in seconds, and a Y-axis of the estimated buffer level in seconds.
  • a line 82 identifies the value of the estimated subsequent buffer level 58, in seconds, at each instant in time.
  • Figure 7 is a block diagram illustrating a presentation of information based on estimated subsequent buffer levels of a plurality of playout devices 12 according to one embodiment.
  • the computing device 22 is serving four different playout devices 12, and for each playout device 12, is determining an estimated subsequent buffer level 58 in accordance with the discussion above.
  • the computing device 22 For each playout device 12, the computing device 22 generates an image 84-1 - 84-4 that identifies the particular playout device 12, and visually depicts the estimated subsequent buffer level 58 with respect to a full buffer for the playout device 12.
  • the computing device 22 may include visual characteristics which categorizes the state of the estimated subsequent buffer level 58 based on a percentage of the estimated subsequent buffer level 58 to a full buffer.
  • the computing device 22 may present a green depiction for the estimated subsequent buffer level 58 in the images 84-1 and 84-3, a yellow depiction for the estimated subsequent buffer level 58 in the image 84-2, and a red depiction for the estimated subsequent buffer level 58 in the image 84-2, such that an operator may quickly ascertain a state of estimated subsequent buffer levels 58.
  • FIG. 8 is a block diagram of another embodiment of the computing device 22.
  • the computing device 22 includes an initial buffer level determination module 86 operable to determine an estimated initial buffer level 48 of buffered playout data 20 in the playout device 12.
  • the computing device 22 also includes an integration module 88 operable to integrate, over a period of time, a difference between the flow rate 54 of the playout data 20 associated with the computing device 22 and an estimated playout rate 52 at which the playout device 12 plays out the playout data 20 to derive a buffer difference value 56 over the period of time.
  • the computing device 22 also includes a subsequent buffer level determination module 90 operable to determine an estimated subsequent buffer level 58 based at least in part on the estimated initial buffer level 48 and the buffer difference value 56.
  • Each of the modules 86, 88, and 90 may be implemented in software in some embodiments.

Landscapes

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

Abstract

La présente invention concerne l'estimation d'un niveau de tampon dans un dispositif de lecture. Un dispositif informatique détermine un niveau de tampon initial estimé de données de lecture mises en mémoire tampon dans un dispositif de lecture. Pendant une période, une différence entre un débit des données de lecture associées au dispositif informatique et un débit de lecture estimé au niveau duquel le dispositif de lecture lit les données de lecture est intégrée pour dériver une valeur de différence de tampon pendant la période. Un niveau de tampon suivant estimé est déterminé en fonction, au moins en partie, du niveau de tampon initial estimé et de la valeur de différence de tampon.
PCT/IB2016/053822 2016-06-27 2016-06-27 Estimation d'un niveau de tampon dans un dispositif de lecture WO2018002687A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/053822 WO2018002687A1 (fr) 2016-06-27 2016-06-27 Estimation d'un niveau de tampon dans un dispositif de lecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/053822 WO2018002687A1 (fr) 2016-06-27 2016-06-27 Estimation d'un niveau de tampon dans un dispositif de lecture

Publications (1)

Publication Number Publication Date
WO2018002687A1 true WO2018002687A1 (fr) 2018-01-04

Family

ID=56852301

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2016/053822 WO2018002687A1 (fr) 2016-06-27 2016-06-27 Estimation d'un niveau de tampon dans un dispositif de lecture

Country Status (1)

Country Link
WO (1) WO2018002687A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130232534A1 (en) * 2012-03-01 2013-09-05 Motorola Mobility, Inc. Method for retrieving content, wireless communication device and communication system
US20140082146A1 (en) * 2012-06-12 2014-03-20 Cygnus Broadband, Inc. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130232534A1 (en) * 2012-03-01 2013-09-05 Motorola Mobility, Inc. Method for retrieving content, wireless communication device and communication system
US20140082146A1 (en) * 2012-06-12 2014-03-20 Cygnus Broadband, Inc. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KIM KEUNSOO ET AL: "Server side, play buffer based quality control for adaptive media streaming", MULTIMEDIA TOOLS AND APPLICATIONS, KLUWER ACADEMIC PUBLISHERS, BOSTON, US, vol. 75, no. 10, 4 March 2015 (2015-03-04), pages 5397 - 5415, XP035924454, ISSN: 1380-7501, [retrieved on 20150304], DOI: 10.1007/S11042-015-2509-5 *
LEE S ET AL: "Buffer-driven adaptive video streaming with TCP-friendliness", COMPUTER COMMUNICATIONS, ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM, NL, vol. 31, no. 10, 25 June 2008 (2008-06-25), pages 2621 - 2630, XP022700513, ISSN: 0140-3664, [retrieved on 20080223], DOI: 10.1016/J.COMCOM.2008.02.011 *
NAM H-M ET AL: "Adaptive Video Streaming Using Bandwidth Estimation for 3.5G Mobile Network", IEICE TRANSACTIONS ON COMMUNICATIONS, COMMUNICATIONS SOCIETY, TOKYO, JP, vol. E92B, no. 12, 1 December 2009 (2009-12-01), pages 3893 - 3902, XP001552459, ISSN: 0916-8516, DOI: 10.1587/TRANSCOM.E92.B.3893 *

Similar Documents

Publication Publication Date Title
US10567465B2 (en) Streaming video over a network
EP3318067B1 (fr) Client utilisateur de contenu multimédia, agent utilisateur de contenu multimédia et procédés respectifs réalisés au moyen de ces derniers pour fournir un contenu multimédia d'un serveur multimédia au client utilisateur de contenu multimédia
KR102544991B1 (ko) 사용자 장비 및 미디어 스트리밍 네트워크 보조 노드
CN104040992B (zh) 移动网络中具有改善的效率的媒体流
KR101982290B1 (ko) 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법
EP3387767B1 (fr) Réglages de débit binaire adaptatif (abr) pour une distribution par contournement (ott) en direct
KR102286957B1 (ko) 네트워크의 디바이스들에 의해 수행되는 지속적인 트래픽 세션들 사이에서 네트워크의 사용 가능한 대역폭을 분배하기 위한 방법 및 그 장치
US9888053B2 (en) Systems and methods for conditional download using idle network capacity
CA2758763C (fr) Procede et dispositif pour le poussage rapide d'un flux de diffusion individuelle par changement rapide de canal
CN107210999B (zh) 链路感知流送自适应
US9930388B2 (en) Differential and distributive queuing of video frames
US20210076086A1 (en) Digital data streaming using server driven adaptive bitrate
US10033655B2 (en) Packet prioritization based on client device feedback
Ramamurthi et al. Video-QoE aware radio resource allocation for HTTP adaptive streaming
EP2974207A1 (fr) Solution pour empêcher un arrêt de la lecture pendant une transmission multimédia en continu adaptative
EP4013060A1 (fr) Prédiction de protocole multiple et adaptation en cours de session dans une diffusion vidéo en continu
Ramamurthi et al. Using link awareness for HTTP adaptive streaming over changing wireless conditions
KR101837637B1 (ko) 클라이언트 측 ack 조정 기반 적응 스트리밍 방법 및 장치
US9402260B2 (en) Method and device for improving cell throughput based on streaming media service
US20150156790A1 (en) Method, apparatus, and system for resource scheduling
WO2015044104A1 (fr) Gestion de trafic vidéo
WO2018002687A1 (fr) Estimation d'un niveau de tampon dans un dispositif de lecture
US11140060B2 (en) Dynamic variation of media segment durations for optimization of network round trip times
KR101514128B1 (ko) 콘텐츠 제공 장치 및 방법
EP3136663A1 (fr) Notification d'encombrement de réseau dans des réseaux de communication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16759856

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16759856

Country of ref document: EP

Kind code of ref document: A1