The present disclosure relates to aspects of media distribution network in which media data are transmitted in media bursts to a media client. A media burst is followed by an idle period in which no media data are transmitted.
Conventional media distribution networks comprise one or multiple media clients connected via a wired or wireless communication network to a media server. With the recent bandwidth increases of such communication networks, also the volume of consumed media data has grown substantially, and new media applications have evolved. Such media applications include video-on-demand, live streaming, and so on.
Various approaches have been proposed to efficiently make use of the bandwidth capabilities of modern communication networks for media data distribution. One such approach described in US 2012/0069829 A1 is the transmission of a media file in individual media bursts over a broadband channel. The adoption of a bursty transmission scheme becomes possible since the channel bandwidth is typically greater than the bandwidth actually required for live consumption of the media data (e.g., in a streaming scenario).
In the transmission scheme suggested in US 2012/0069829 A1, each media burst is followed by a pause. The pause constitutes an idle period in which no media data are transmitted. The aggregated durations of each media burst and the idle period that follows define a so-called window period. The duration of the window period is in a range from 100 ms to 1000 ms. The idle period is 50% or less of the window period. During the idle period, the broadband channel may be released, and a waste of transmission resources can thus be avoided.
Burst generation and burst transmission are performed under control of a dedicated gateway function. The gateway function is in one variant incorporated into a media server. In another variant, the gateway function is installed on a dedicated proxy node between the media server and the media clients.
There is a need for a technique that permits to efficiently implement a bursty transmission scheme in a media distribution network.
According to one aspect, there is provided a method of operating a network node in a media distribution network in which media data are transmitted in media bursts to a buffer of a media client, wherein a media burst is followed by an idle period in which no media data are transmitted. The method comprises determining a fill level of the media client buffer and generating a media burst, wherein media burst generation includes adjusting at least one of a media data volume of the media burst and a duration of the idle period following the media burst dependent on the fill level.
Determining the fill level may comprise estimating the fill level of the media client buffer based on a buffering model. The buffering model may take into account a volume of transmitted media data on the one hand and a buffer draining rate at the media client on the other. As an example, the network node may keep track of the volume of media data transmitted in previous bursts. The buffer draining rate at the media client may be estimated by the network node or signaled to the network node.
The buffering model in one variant takes into account compressed media time information associated with the media data. If, for example, the media data are provided in the form of a media file, that media file may comprise a compressed media time line with the corresponding information. Additionally, or as an alternative, the buffering model may take into account a wall clock time (e.g., as associated with playout of the media data).
In one implementation, the media burst comprises multiple individual media data transports to the media client. Each media data transport may comprise an individual media data segment. The aggregated sizes of the media data transports transported during an individual media burst may define the media data volume of that media burst.
According to one example, each media data transport conveys an individual transport layer data segment. If, as an example, the Transmission Control Protocol (TCP) is used on the transport layer, a media burst may comprise multiple TCP segments. The multiple TCP segments of a media burst may be transmitted via a single TCP connection from the network node to the media client.
During the media burst, the fill level of the media client buffer may once or repeatedly be determined. As an example, such a determination may occur after each individual media data transport or after multiple (e.g., a predefined number) of media data transports have occurred.
The media data volume of the media burst may be adjusted by terminating the media data transports dependent on the fill level of the media client buffer. A target media data volume (e.g., with respect to a remaining playout time of the buffered media data) may be defined based on that fill level. Once the aggregated media data volume transmitted in previous media data transports equals or exceeds the target media data volume, the media data transports for the burst (and thus the burst) may be terminated.
The media data transports may individually be acknowledged by the media client. Accordingly, the network node may receive an acknowledgement of receipt of an individual media data transport. As understood herein, the acknowledgement may be positive (meaning that the media client acknowledges successful receipt of a media data transport) or negative (meaning that the media client informs the network node that a media data transport has not been received).
Receipt of an acknowledgement may in certain scenarios trigger the next media data transport. In the case of a positive acknowledgment, new media data are transmitted with the next media data transport, and in the case of a negative or missing positive acknowledgement, previously transmitted media data are re-transmitted with the next media data transport. Depending on whether or not the target media data volume of the media burst has been transmitted, the next media data transport may either be sent after or before the upcoming idle period.
At the end of the media burst (e.g., in response to acknowledgement of receipt of the last media data transport within a burst), an idleness timer may be started to define the idle period. After expiry of the idleness timer, the next media burst may be generated for transmission. The idleness timer, and thus the duration of the idle period, may be set to a value that is constant or variable (e.g., during a specific media data distribution session such as a media file download).
The aggregated durations of the media burst and the idle period that follows the media burst may define a time window. In one variant, successive time windows have variable durations.
As said, the media data volume of each media burst is adjusted dependent on the fill level of the media client buffer. Due to fill level variations, successive media bursts may thus have variable media data volumes. Consequently, the variable durations of the time windows may depend at least partially on the variable media data volumes that need to be transported therein.
The media burst may be transmitted at a first bitrate, and the media client buffer may be drained at a second bitrate. The first bitrate may at least on the average be higher than the second bitrate. As an example, the first bitrate may exceed the second bitrate by a factor of 2, 3 or higher. In one variant, the first bitrate may be determined by a bitrate available for (e.g., allocated to) a communication link terminating at the media client. The communication link may start at an access network node via which the media client is attached to a network comprising the network node providing the media data.
The adjustment of the media data volume may take into account one or more constraints. The following examples may be combined as needed.
The media data volume may be adjusted dependent on the first bitrate at which the media burst is transmitted or the second bitrate at which the media client buffer is drained. In one implementation, the adjustment of the media data volume takes into account both the first bitrate and the second bitrate (e.g., a ratio between the first bitrate and the second bitrate).
The media data volume may be adjusted so that there will be no media client buffer underrun during the idle period following the media burst. To this end, the media data volume may be adjusted taking into account at least one of the following parameters: the current fill level of the media client buffer, the second bitrate at which the media client buffer is drained and a scheduled or expected idle period duration. In one variant, the media data volume is adjusted such that the client buffer is fully filled to avoid a media client buffer underrun during the following idle period.
The media data volume may be adjusted so that the idle period following the media burst will not fall below a first duration. Generally, the first duration may be above 1 s. As an example, the first duration may be above 2 s, 5 s, 10 s or 15 s. In one variant, the media data volume is adjusted so that the idle period will have the first duration. The duration of the idle period may thus be fixed. According to another variant, the media data volume is adjusted so that the idle period will have a variable duration (that will typically not fall below the first duration).
The first duration may be selected to permit the media client to initiate one or more power saving measures. As an example, the first duration may be selected to permit the media client to transit from a first state of power consumption into a second state of power consumption during the idle period. The first state is associated with a higher power consumption than the second state. The first state and the second state may belong to a set of two or more radio channel states such as states of a Radio Resource Control (RRC) protocol implemented by the media client.
The first duration may generally be selected dependent on access network and/or media client settings. As an example, the first duration may be selected dependent on (e.g., to be longer than) one or more inactivity timer settings at the media client. The inactivity timer setting may control a transition of the media client between different power consumption states. In one realization, the settings of RRC inactivity timers may be taken into account when selecting the first duration.
The media data volume may be adjusted so that the media data volume of the burst does not exceed a threshold. Additionally, or as an alternative, the media data volume may be adjusted so that a media burst duration does not exceed a threshold. If the media data volume threshold and/or the media burst duration threshold are/is attained or exceeded, the duration of the idle period may be reduced from a second duration to a third duration. Preferably, the third duration is not lower than the first duration. The method may further comprise transmitting the media burst towards a media client. A media burst may be transmitted via a TCP connection or any other connection.
The media data may comprise one or both of audio data and video data. The media data to be transmitted may take the form of a media file (e.g., a multimedia clip). The media file may be transmitted in a download session from the media server to the media client. As such, the media client may fetch the media file from the media server either directly or via an intermediate node.
The media burst may be transmitted during a download session. As an example, the media burst may be transmitted during a Hypertext Transfer Protocol (HTTP) or other progressive download session. In one variant, the media client starts rendering or otherwise using the downloaded media data in the progressive download session before the download has been completed.
According to another aspect, a method of operating a media client in a media distribution network in which media data are transmitted in media bursts to a buffer of the media client is provided. A media burst is followed by an idle period in which no media data are transmitted, and the method comprises receiving a media burst, wherein at least one of a media data volume of the media burst and a duration of the idle period following the media burst is dependent on a fill level of the media client buffer.
The media data volume of the received media burst may be adjusted such that there will be no buffer underrun in the idle period following the media burst. Consequently, there may be a correlation between the media data volume transported in a specific media burst and the idle period duration following that media burst.
The method may further comprise transiting, by the media client, from a first state of power consumption into a second state of power consumption during the idle period. The first state is associated with a higher power consumption than the second state. In one implementation, the transit is controlled by at least one inactivity timer of the media client. There may exist a correlation between a setting of the at least one inactivity timer and the duration of the idle period.
Also provided is a computer program product comprising program code portions for performing the methods or method aspects disclosed herein when the computer program product is executed by a computing device. The computer program product may be stored on a computer-readable recording medium, such as a CD-ROM, DVD or semiconductor memory. The computer program product may also be provided for download via a communication network.
Further provided is a network node for a media distribution network in which media data are transmitted in media bursts from a media server to a buffer of a media client, wherein a media burst is followed by an idle period in which no media are transmitted. The network node comprises a component configured to determine a fill level of the media client buffer, and the generator configured to generate a media burst. Generation of the media burst includes adjustment of at least one of a media data volume of the media burst and a duration of an idle period following the media burst dependent on the fill level.
The network node is in one implementation configured as a media server. In another implementation, the network node is configured as a proxy node for location between a media server and one or more media clients.
The network node may comprise an idleness timer configured to define the idle period between two successive media bursts. The adjustment of the media data volume may be correlated with a setting of the idleness timer.
Still further, a media client for a media distribution network in which media data are transmitted in media bursts to the media client is provided. A media burst is followed by an idle period in which no media data are transmitted. The media client comprises a buffer configured to buffer received media data and an interface configured to receive a media burst. The received media burst has a media data volume that is dependent on a fill level of the buffer. Additionally, or alternatively, the idle period following the media burst has a duration that is dependent on the buffer fill level.
The media client may further comprise a controller adapted to initiate a transit of the media client from a first state of power consumption to a second state of power consumption during the idle period. The first state is generally associated with a higher power consumption than the second state. The controller may be coupled to an inactivity timer that triggers the transit.
Further aspects, advantages and optional features of the present disclosure will become apparent from the following description of exemplary embodiments when taken in conjunction with the drawings. In the drawings,
In the following description of exemplary embodiments, for purposes of explanation and not limitation, specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent to one skilled in the art that the present disclosure may be practiced in other embodiments that depart from these specific details. For example, while certain embodiments will be described in connection with a TCP connection for media data transmission, it will be appreciated that other transport layer transmission technologies may be used as well. Moreover, while some embodiments will describe client-side power saving measures based on exemplary RRC state transitions and RRC inactivity timers, it will readily be apparent that additional or alternative power saving measures may be initiated on the side of the media client during an idle period. It will also be evident that the present disclosure is not limited to any specific technology for gaining network access by the media client. Such network access may in principle be based on either wired or wireless technologies, or combinations thereof.
Still further, those skilled in the art will appreciate that the services, functions and steps explained herein may be implemented using software functioning in conjunction with a programmed microprocessor, an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP) or a general purpose computer. It will also be appreciated that while the following embodiments will primarily be described with reference to methods and devices, the present disclosure may also be embodied in a computer program product as well as in a system comprising a computer processor and a memory coupled to the processor, wherein the memory is encoded with one or more programs that may perform the services, functions and steps disclosed herein.
The network node 20 is configured to transmit media data, such as a media file requested for a download by an individual one of the media clients 40, in bursts to the respective media client 40. The media data thus received may be temporarily or permanently stored at the media client 40. Alternatively, or in addition, the media data may be rendered by the media client 40. The specific rendering depends on the nature of the media data. As an example, video data may be rendered on a display of the media client 40, whereas audio data may be played back via a loudspeaker or a headphone.
The media data transmission from the network node 20 to each individual media client 40 may be based on a unicast connection over a wired or wireless communication network. The unicast connection may be used for streaming the media data from the network node 20 to the media client 40 that requested the media data. The streaming is one variant based on a session concept and may be performed under control of a streaming protocol (e.g., the Real Time Streaming Protocol, RTSP, or progressive streaming via HTTP).
As shown in
There exist various possibilities how the network node 20 may obtain access to the media data flow. The media data flow may have been generated locally by the network node 20. In such a case, the network node 20 can itself be configured as a media server. In an alternative embodiment, the media data flow is received by the network node 20 from a media server coupled to the network node 20 via the network interface 32 (or a separate interface not illustrated in
The media data flow received by the burst generator 22 may be a bitstream representative of a media file (e.g., a multimedia clip) requested by one of the media clients 40 in
Still referring to
The media data flow received by the burst generator 22 is initially stored in the media buffer 24. The controller 26 is configured to release the media data buffered in the media buffer 24 in individual media bursts. Each media burst has a dedicated media data volume that is adjusted by the controller 26 taking into account one or multiple constraints. Here, the media data volume of an individual burst is adjusted by the controller 26 dependent on a fill level of a media client buffer (not shown in
The fill level is estimated by the estimation function 28 based on a buffering model. In the present embodiment, the buffering model applied by the estimation function 28 takes into account at least a volume of transmitted media data (i.e., a buffer filling process) and a buffer draining process at the media client 40.
The volume of transmitted media data is measured based on the media data volume of one or more bursts that have been released previously in the pending media data transmission session. The transmitted media data volume may in one implementation be measured based on the transmitted data volume (e.g., in bytes) that can more easily be measured. The transmitted data volume may exceed the transmitted media data volume by a negligible amount (e.g., by control information associated with packing the media data into data units).
Additionally, or as an alternative, the volume of transmitted media data may be derived from characteristics or attributes of the media data (e.g., from a media file including the media data). Such characteristics or attributes may include compressed media time information. This information can be derived from so-called time-to-sample boxes of an ISO-BMFF-compliant or similar media file. The time-to-sample boxes (as, e.g., contained in the sample table box “stbl”) can be used to determine the byte offset into the file for an encoding unit (e.g., a video frame or audio sample) with a given media timestamp. The difference of the byte offsets of two given encoding units can be used to calculate a data volume (and thus a volume of transmitted media data). Other media file formats include other information to calculate the byte offset of an encoding unit with a given timestamp.
Also a wall clock time associated with the media data may be taken into account here to estimate the client buffer fill level. The media client 40 is draining the media buffer 44 while that buffer 44 gets filled. As such, one may measure or estimate the duration of the buffer fill process (in terms of the wall clock time) in order to compensate for the buffer draining process while the media buffer 44 is being filled.
The client buffer draining process may be estimated by the estimation function 28. Such an estimation may also be based on any characteristics or attributes of the media data received by the burst generator 22. In case in which the media data are included in a media file, the buffer draining process may be estimated from the timing and the size of the individual encoding units (e.g., video frames and/or audio samples) as derivable from the media file.
As shown in
The media bursts thus generated by the burst generator 22 are transmitted from the network interface 32 via a communication network to media client 40. Thus, there will typically be further network nodes arranged between the network node 20 and the media client 40 to which the media bursts are transmitted.
As shown in
Conventionally, the media buffer 44 is provided to compensate for the fact that the individual frames read from the media buffer 44 may have different sizes when predictive encoding is used (e.g., P-/B-frames have smaller sizes than I-frames). Moreover, the media buffer 44 conventionally also permits to compensate delay jitter and brief reception outages (e.g., due to mobility of the media client 40). Here, typical sizes of the media buffer 44 (e.g., for media clients 40 capable of progressive media file download) are sufficiently large to buffer 10 seconds, 20 seconds, or more of media data (in terms of playout time). Thus, it becomes possible to stop the filling process for a media buffer 44 for several seconds and only drain it.
A media decoder 46 located downstream of the buffer 44 is configured to fetch the media data from the media buffer 44 according to decoding timestamps of the buffered media samples. As an example, the media decoder 46 may fetch the media data from the media buffer 44 at intervals of 40 ms (e.g., for a 25 frames-per-second videostream).
The media decoder 46 is further configured to decode the media data fetched from the media buffer 44 and to put them into an appropriate order for rendering. The media decoder 46 may be compliant with one or multiple encoding standards such as H.264.
The decoded media data are finally rendered by a rendering function 48 depending on their nature. As an example, video or picture data may be displayed, and audio data may be played back by a loudspeaker.
The embodiment of the media client 40 depicted in
As has been explained above with reference to
As shown in
The inactivity timer 50 is configured to be started at the end of a media burst reception process. If no further media burst is received prior to expiry of the inactivity timer 50 (i.e., if the idle period following the media burst is longer than the duration of time monitored by the inactivity timer 50), the power state controller 52 is triggered. Upon being triggered, the power state controller 52 controls one or multiple components of the media client 40, such as the network interface 42, to transit from a first state of power consumption into a second state of power consumption, wherein the first state is associated with a higher power consumption than the second state. The first state of power consumption is resumed once a new media burst arrives at the network interface 42 that needs to be buffered in the media buffer 44.
It should be noted that both the inactivity timer 50 and the power state controller 52 are optional and may be omitted in certain embodiments. When present, the adjustments of the media burst data volumes by the burst generator 22 of the network node 20 (see
The filling process for the media buffer 44 is achieved via the media bursts transmitted to the media client 40 via a network connection having an available link bitrate clink. As will be appreciated, clink will typically vary over time. In case of a wireless network connection, variations in clink will, for example, depend on the prevailing radio conditions and the radio traffic generated by other users.
In the scenario illustrated in
As illustrated in
During the window duration Tinterval, the media buffer 44 of the media client 40 is filled with B byte. At the same time, the buffer is drained at a rate of B′=cmedia×Tinterval. It will be appreciated that the media data volume B of the burst should be adjusted such that is does not fall below B′ (i.e., B>=B′). In case B=B′, the (minimum) burst duration Tburst can be calculated as Tburst=(cmedia×Tinterval)/clink. The resulting (maximum) duration of the associated idle period can be expressed as Tsilent=(1−cmedia/clink)×Tinterval.
In one implementation, the burst duration Tburst may be adjusted to the current link bitrate clink, so that the idle period duration Tsilent does not fall below a certain threshold. In other words, the media data volume B of a media burst may be adjusted such that a certain idle period duration can be ensured without risking an underrun of the media buffer 44 of the media client 40. To this end, the burst generator 22 may adjust the media data volume B of a specific media burst dependent on the estimated fill level of the media buffer 44 (at the end of the idle period) so that the duration of the idle period Tsilent does not have to become overly short.
As will be appreciated, short idle period durations Tsilent can be inefficient in consideration of the processing overhead associated with media burst generation. Moreover, longer idle period durations Tsilent increase the possibility that the inactivity timer 50 of the media client 40 can expire, so that the media client 40 can transit to a state of reduced power consumption. On the other hand, overly long idle period durations Tsilent are associated with an unnecessary waste of transmission bandwidth in case the user decides to abandon, or abort, for example an ongoing download session. All those considerations may be taken into account and combined as needed to select a suitable idle period duration Tsilent for a specific usage scenario.
An upper bound for Tinterval is determined by a depth (i.e., size) of the client-side media buffer 44. Typical sizes will correspond to a buffered playout time of a few seconds (e.g., up to 5, 10 or 20 s or even substantially more). As said, a lower bound for Tinterval will in certain embodiments be determined by the settings of the inactivity timer 52. It should be noted here that changing a power consumption state will always require some processing overhead (e.g., signaling load). Thus, the lower bound for Tinterval may be selected such that the state of lower power consumption can be maintained for a sufficiently long time to justify the transit from the state of higher power consumption to the state of lower power consumption.
As shown in
The individual buffer filling rates, or gradients, shown in
The burst-based filling process of the media buffer 44 shown in
As will be appreciated, an adjustment of the idle period duration (e.g., depending on one or both of the client buffer fill level and power state transitions as explained below in more detail) will influence the pacing “gain”. A shorter idle period duration leads to a fine-grained pacing. This means that an abandonment by a user will lead to a comparatively lower waste of transmission bandwidth. Conversely, longer idle period durations require that in the preceding media bursts a larger media data volume has to be transmitted, which leads to a more coarse-grained pacing (i.e., higher losses and less efficient transmission bandwidth usage).
The TCP flow sequence illustrated in
Next, a first media burst including a portion of the requested media file is transmitted from the network node 20 to the media client 40. As illustrated in
The burst generator 22 of the network node 20 keeps track of the data transmitted during an ongoing media burst (e.g., in terms of bytes). As soon as the transmitted volume of data equals or exceeds a (target) media data volume B, the network node 20 terminates the media burst (i.e., terminates the further transmission of TCP segments for the ongoing burst).
As indicated in
As stated above, a TCP window size may shrink during the idle period between two media bursts. As such, the TCP connection between the network node 20 and the media client 40 may be in a slow start phase when a new media burst is transmitted after an idle period. This situation may be taken into account by the burst generator 22 (e.g., by the estimation function 28).
It should further be noted that instead of the idleness timer 30, or in addition to that timer 30, other mechanisms for determining the duration of the idle period Tsilent may be employed as needed. Specifically, in other embodiments the idle period duration Tsilent may vary within a download session.
In the embodiment illustrated in
A first TCP connection TCP1 stretches between the media client 40 and the proxy node 20, and a second TCP connection TCP2 stretches between the proxy node 20 and the media server 70. It should be noted that the presence of the proxy node 20 is not detectable by the media client 40. That is, the proxy node 20 is arranged transparently between the media client 40 and the media server 70 so that the media client 40 may assume that it has a direct TCP connection to the media server 70. In other embodiments, the proxy node 20 may be realized in a non-transparent manner, which means that it may be detectable by the media client 40.
The two TCP connections TCP1, TCP2 illustrated in
In the scenario illustrated in
The configuration of the RRC inactivity timers has considerable impact on the battery life of the (mobile) media client 40. Specifically, the RRC idle mode (no connection) has the lowest energy consumption. The states in the RRC connective mode, in order of decreasing power consumption, are CELL_DCH (Dedicated Channel), CELL_FACH (Forward Access Channel), CELL_PCH (Cell Paging Channel) and URA_PCH (URA Paging Channel). The power consumption in the CELL_FACH state is roughly 50% of that in the CELL_DCH state, and the PCH states use about 1 to 2% of the power consumption of the CELL_DCH state.
The transitions to states of lower power consumption are triggered by expiry of the inactivity timers as illustrated in
According to one implementation of the technique presented herein, it is suggested that the media client 40 is permitted to enter an RRC state of lower power consumption during the idle period following a specific media burst. It has now been found that entering an RRC state of lower power consumption may sometimes be difficult to achieve when releasing the media bursts at a fixed periodicity (i.e., at a fixed window period duration Tinterval) as illustrated in
As will be appreciated, a fixed duration of Tinterval leads to variable download durations for media bursts in case the link bitrate clink varies. The result is that the idle period duration Tsilent also varies as illustrated in
The method embodiment illustrated in
As shown in
It is assumed that in step 1102 the burst release controller 26 of the burst generator 22 illustrated in
In step 1104 it is checked if the media buffer 44 of the media client 40 presently (i.e., during the ongoing burst) contains enough media data to stop the buffer filling process for a predefined idle period duration Tsilent. This check may be performed based on the current fill level of the media buffer 44 (as determined in step 1102), the estimated buffer draining rate by the media decoder 46 and the scheduled idle period duration Tsilent.
If it is determined in step 1104 that the media buffer 44 of the media client 40 does not yet contain enough media data, step 1104 loops back to step 1102. Otherwise, the estimation function 28 informs the burst release controller 26 of the burst generator 22 in step 1106 that the ongoing burst (e.g., the ongoing TCP segment transmissions) can be terminated.
From step 1106 the method proceeds to step 1108. In step 1108 the idleness timer 30, which has been set to a fixed idle period duration Tsilent, is started. Once the idleness timer has expired, the method proceeds to step 1110. In step 1110, the burst release controller 26 starts releasing a new burst, and the method loops back to step 1102.
As becomes apparent from
With reference to
In an initial step 1301, a target idle period duration Tsilent-target is set to a preferred value Tsilent-preferred. As long as the media client buffer is not yet sufficiently filled to guarantee an idle period of Tsilent-target) it is additionally checked in step 1112 if the current burst duration is longer than a predefined burst duration threshold. In step 1312, the burst duration may be monitored in terms of one or more parameters (e.g., duration in time, transmitted data in byte number of TCP segments transported, and so on). If it is determined in step 1312 that the burst duration threshold is exceeded, the target idle period duration Tsilent-target is set to a lower value Tsilent-min in step 1314. From step 1314 the method proceeds to step 1302.
According to the method embodiment illustrated in
Upon starting a media burst in the scenario of
When the network node 20 stops filling the media client buffer 44 in step 1406, also the timer is stopped. Based on the value of the timer and, optionally, further information pertaining to the buffer filling process (e.g., the link bitrate clink) and the buffer draining process (e.g., the media bitrate cmedia) the buffer fill level may be estimated by the estimation function 28. Based on this estimation, a suitable idle period duration Tsilent can be selected for the subsequent step 1408. This selection may be performed such that a buffer underrun at the media client 40 is prevented. Thus, the idle period may be adjusted based on the fill level of the media client buffer 44 upon execution of step 1406. In one implementation, the currently feasible idle period duration Tsilent is directly calculated and continuously adjusted in step 1412 for later use in step 1408.
It is believed that many advantages of the present disclosure will be fully understood from the foregoing description, and it will be apparent that various changes may be made in the form, construction and arrangement of the exemplary aspects thereof without departing from the scope of the invention, or without sacrificing all of its advantages. Because the invention can be varied in many ways, it will be recognized that the invention should be limited by the scope of the claims that follow.
This application is a continuation application of International Patent Application No. PCT/EP2013/053616, filed 22 Feb. 2013, entitled “MEDIA DISTRIBUTION NETWORK WITH MEDIA BURST TRANSMISSION CAPABILITIES”.
Number | Date | Country | |
---|---|---|---|
20140282810 A1 | Sep 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2013/053616 | Feb 2013 | US |
Child | 13836086 | US |