摘要:
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.
摘要:
One or more network based video servers is/are connected to one or more video receivers over a shared network. Pieces of video content are each encoded at a number of constant quality levels and stored on one or more of the network based servers. Responsive to requests from a receiver, video content is selected on a server and delivered over the shared network to the receiver. The system selects the quality level of the stream to deliver based on characteristics of the video stream currently being delivered, and the number of bits already buffered at the video receiver and the available network throughput. The aim is to select the video quality being delivered according to the available network throughput to maximize quality while ensuring that video data is delivered over the network in time to be decoded and displayed without interruption. Certain exemplary embodiments make that selection in advance.
摘要:
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.
摘要:
Embodiments of the present invention provide a compact representation of a cumulative bit curve formed from piece-wise 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 minimize the number of end-points required of within the piecewise approximation.
摘要:
The network contains one or more network based video servers connected to one or more video receivers over a shared network. Multiple pieces of video content are each encoded at a number of constant quality levels and stored on one or more of the network based servers. In response to requests from a receiver, video content is selected on a server and delivered over the shared network to the receiver. The system selects the quality level of the stream to deliver based on characteristics of the video stream currently being delivered, and the number of bits already buffered at the video receiver and the available network throughput. The aim is to select the video quality being delivered according to the available network throughput so as maximise the quality while ensuring that all video data is delivered over the network in time for it to be decoded and displayed without interruption. The invention proposes a method for making that selection in advance.
摘要:
The network contains one or more network based video servers connected to one or more video receivers over a shared network. Multiple pieces of video content are each encoded at a number of constant quality levels and stored on one or more of the network based servers. In response to requests from a receiver, video content is selected on a server and delivered over the shared network to the receiver. The system selects the quality level of the stream to deliver based on characteristics of the video stream currently being delivered, and the number of bits already buffered at the video receiver and the available network throughput. The aim is to select the video quality being delivered according to the available network throughput so as maximise the quality while ensuring that all video data is delivered over the network in time for it to be decoded and displayed without interruption.
摘要:
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.
摘要:
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.
摘要:
The network contains one or more network based video servers connected to one or more video receivers over a shared network. Multiple pieces of video content are each encoded at a number of constant quality levels and stored on one or more of the network based servers. In response to requests from a receiver, video content is selected on a server and delivered over the shared network to the receiver. The system selects the quality level of the stream to deliver based on characteristics of the video stream currently being delivered, and the number of bits already buffered at the video receiver and the available network throughput. The aim is to select the video quality being delivered according to the available network throughput so as maximise the quality while ensuring that all video data is delivered over the network in time for it to be decoded and displayed without interruption.
摘要:
Embodiments of the present invention provide a compact representation of a cumulative bit curve formed from piece-wise 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.