Abstract:
A method for providing equitable media streaming between an HTTP server and a number of receivers via shared network. The streaming data is processed to split the data across a number of sub-streams. Each sub-stream contains non-contiguous data. A receiver requesting the streaming media establishes a number of TCP sessions, one for each sub-stream and the received sub-stream data is reassembled at the receiver so that the streaming media can be presented.
Abstract:
A client device receives streamed encoded content data, such as encoded video data, which has been encoded at a constant perceptual quality. Several different versions of the content are available to be streamed to the device, at different perceptual quality levels. In order to decide which quality level to request from a content server at intervals the device calculates the delivery rates that would be required for each level of quality. The calculation of the delivery levels is made in dependence on whether the actual delivery rate that has been received so far is greater than or less than a constant bit rate delivery schedule that decreases monotonically but which guarantees to deliver the encoded data in a timely manner such that no buffer underflow and interruption of reproduction takes place. The monotonically decreasing bit rate schedule is defined by one or more "critical points", which are the points at which the bit rates are decreased, and correspond to the points where the delivery schedule is just equal to the decoding schedule of the encoded data. At such points there would be no encoded data in a buffer at the client. If the delivery rate has been greater than the constant bit rate schedule for a quality then the delivery rate required going forward for a particular quality level can be calculated from the critical point information, and no more complicated calculation is required.
Abstract:
A video sequence to be encoded is divided into a plurality of temporal portions, and analysed to determine (at least for each portion after the first), in accordance with a plurality of encoding quality settings, (i) a quality metric for the portion and (ii) the number of bits generated by encoding the portion at that quality setting. These data are analysed, for example using a Viterbi-like trellis, to choose a set of quality settings, one per portion, that tends to minimise a combined quality cost for the sequence. This the combined quality cost is the sum of individual quality costs each of which is a function of the quality metric of the respective encoded portion. The sequence is encoded using the chosen quality settings. In order to determine each individual quality cost, despite not knowing precisely what network throughput will be available at any given time in the future, one proceeds by estimating receiver buffer fullness and its standard deviation. From said estimates, the probability of buffer underflow and or overflow is obtained, the individual quality costs being a function also of the underflow and/or overflow probability.
Abstract:
There is proposed a modification to the ECN protocol to remove the one-to-one relationship between the network signalling congestion and the sender response to that congestion. The result is to allow a receiver terminal to exhibit some control of bandwidth share relative to other receiver terminals. The idea is to filter the congestion experienced (CE) markings arriving at a receiver such that they do not correspond directly with the setting of the ECN echo (ECE) flag in acknowledgement packets sent back to the sender. In particular, the idea is to skip a specific number of CE markings such that fewer than normal acknowledgement packets with ECE flags set are sent back to the sender. This gives the receiver some control over the frequency of congestion window reduction (CWR) events at the sender and thus exhibit some control on the transmission rate from the sender.
Abstract:
A method of controlling a telecommunications network in which local exchanges (1) are connected to a network of trunk exchanges (6) via one or more parent trunk exchanges (3, 4). The method provides a network traffic management system (NTMS) which detects focused overloads at parent trunk exchanges (3, 4) and, rather than applying call restriction to the parent trunk exchange (3, 4) itself, applies call restriction to one or more of the other trunk exchanges (6) in the network, known as far-end trunk exchanges. This arrangement can allow added flexibility in the way call restriction is applied. For instance, cases arise when certain routes (7) into a parent trunk exchange (3, 4) contribute more than others to a focused overload. It may then be preferable to apply call restriction in relation to a route which is inversely proportional to that route's contribution to be focused overload.
Abstract:
A client device receives streamed encoded content data, such as encoded video data, which has been encoded at a constant perceptual quality. Several different versions of the content are available to be streamed to the device, at different perceptual quality levels. In order to decide which quality level to request from a content server at intervals the device calculates the delivery rates that would be required for each level of quality. The delivery rates are calculated in dependence on so-called critical points, which are points at which a piecewise constant bit rate delivery schedule is just equal to the decoding schedule. There are two classes of critical points, being a first class of critical points, referred to herein as "additional critical points", which are points on the decoding schedule where, for any particular other point on the decoding schedule before an additional critical point, and assuming that a minimum threshold amount of data is buffered when delivery occurs from the particular point, a constant bit rate delivery schedule that is calculated for the particular point taking into account the buffered minimum amount of data and of such a rate such that buffer underflow does not occur is substantially equal to the decoding schedule. A second class of critical points, referred to herein as "downstairs critical points", is also defined, which are derived from the decoding schedule as a whole, and which are the points at which a piecewise monotonically decreasing constant bit rate delivery schedule (the so-called "downstairs" schedule), which is calculated such that when delivering the encoded content data from the start buffer underflow does not occur, is substantially equal to the decoding schedule of the encoded content data. When the actual delivery rate received is ahead of the so-called "downstairs" schedule, then the delivery rate required for a particular quality level can be calculated from the second class of critical points. However, when the actual delivery rate received is behind the downstairs schedule, then the delivery rate required is calculated from the first class of critical points.
Abstract:
A video sequence is to be transmitted at a selectable quality from a server over a network. A network control protocol operates in response to a control parameter to allocate to the server a share of available transmission capacity in proportion to the value of the control parameter. First, one determines a plurality of transmission rate values that are needed over successive time periods of the sequence for successful transmission of the sequence at a reference quality; then the control parameter is set, proportional to the transmission rate value and communicated to the control protocol at corresponding time instants. The sequences can then be transmitted, encoded at a quality from time to time selected in dependence upon the actual transmission capacity made available by the network to the server.
Abstract:
There is proposed a modification to the ECN protocol to remove the one-to-one relationship between the network signalling congestion and the sender response to that congestion. The result is to allow a receiver terminal to exhibit some control of bandwidth share relative to other receiver terminals. The idea is to filter the congestion experienced (CE) markings arriving at a receiver such that they do not correspond directly with the setting of the ECN echo (ECE) flag in acknowledgement packets sent back to the sender. In particular, the idea is to skip a specific number of CE markings such that fewer than normal acknowledgement packets with ECE flags set are sent back to the sender. This gives the receiver some control over the frequency of congestion window reduction (CWR) events at the sender and thus exhibit some control on the transmission rate from the sender.
Abstract:
There is proposed a modification to the ECN protocol to remove the one-to-one relationship between the network signalling congestion and the sender response to that congestion. The result is to allow a receiver terminal to exhibit some control of bandwidth share relative to other receiver terminals. The idea is to calculate the average CE arrival frequency from received data packets and to set ECE flags at a rate determined as a function of the average CE arrival frequency. Preferably, the function is a multiplier applied to the average CE arrival frequency. The effect of averaging the CE arrival frequency as well as application of a multiplier is a decoupling of the ECE marked ACKs sent by a receiver to the sender, and control of the resulting transmission rate at the sender.
Abstract:
Embodiments of the present invention provide a compact representation of a cumulative bit curve formed from piecewise straight line approximations between upper and lower bounds about an actual cumulative bit curve (CBC). In one embodiment the lower bounds are found by applying a constraint such that if a delivery rate was to be calculated using the count at the lower bound it would result in a delivery rate which was greater than the delivery rate that would be calculated using the actual CBC data by a particular amount, for example 10 %. The actual CBC data is then used as an upper bound. As a result, the approximated CBC will lie for each GoP between the actual CBC value and the lower bound, with the result that one can be certain that any data rate that is calculated using the approximation will be at least as high as a data rate that is calculated using the actual CBC data. In terms of line- fitting algorithms that are used, several different algorithms may be used of differing complexities, with the intention of trying to minimise the number of end-points required of within the piecewise approximation.