Abstract:
Various implementations disclosed herein enable a more efficient allocation of one or more shared network resources (e.g., bandwidth, memory, processor time, etc.) amongst a number of client devices based on media content data complexity and client device resource constraints in order to better manage perceptual playback quality of adaptive streaming content. In some implementations, a method includes aligning sequences of one or more temporal segments; and, selecting segment representations for each temporal segment based on a combination of the sequence alignment and perceptual quality level values associated with available segment representations, such that a combination of resulting perceptual quality levels satisfies a joint quality criterion. Each sequence is associated with one of a number of client devices sharing a network resource. The one or more temporal segments of each sequence are used to provide segment representations of media content data to one of the client devices.
Abstract:
A method is provided in one example embodiment and includes generating a transmission control protocol (TCP) flow; marking a plurality of packets of the TCP flow with one of two differentiated services code points (DSCPs) according to a proportion that is selected to control a throughput associated with the TCP flow; and communicating at least a portion of the plurality of packets to a network.
Abstract:
In one embodiment, an HTTP streaming session may be initiated at a client device in a network. The client device may have a buffer and may be configured to request and receive one or more data segments over HTTP from an HTTP server. A first data segment at a first data source rate may be requested and subsequently received. The first data segment may be stored in the buffer. A second data source rate may then be calculated based on a storage level in the buffer, and a second data segment at the second data source rate may be requested.
Abstract:
Various implementations disclosed herein enable a more efficient allocation of one or more shared network resources (e.g., bandwidth, memory, processor time, etc.) amongst a number of client devices based on media content data complexity and client device resource constraints in order to better manage perceptual playback quality of adaptive streaming content. In some implementations, a method includes aligning sequences of one or more temporal segments such that time boundaries of temporal segments across the sequences are in alignment; and, selecting segment representations for each temporal segment based on a combination of the sequence alignment and perceptual quality level values associated with available segment representations, such that a combination of resulting perceptual quality levels satisfies a joint quality criterion. Each sequence is associated with a respective one of a number of client devices sharing a network resource and an instance of a respective video stream. The one or more temporal segments of each sequence are used to provide segment representations of media content data to one of the client devices. The alignment of time boundaries of temporal segments is achieved at least in part by adjusting performance characteristics associated with at least some of the one or more temporal segments.
Abstract:
In one embodiment, a video processing system includes a processor to read a mapping between a peak signal to noise ratio, PSNR, and a video quality metric, M, for an encoded version of a first video portion encoded at full resolution Rmax, read an up-sampled peak signal to noise ratio, uPSNR(Rx) of an up-sampled decoded video portion deriving from the first video portion being encoded at a resolution Rx, which is less than the full resolution Rmax, yielding an encoded video portion, the encoded video portion being decoded and then up-sampled to the full resolution Rmax; and lookup a value, V′, that maps to uPSNR(Rx) in the mapping, V′ representing a resolution normalized M value of the encoded video portion encoded at the resolution Rx. Related apparatus and methods are also described.
Abstract:
A method is provided in one example embodiment and includes generating a transmission control protocol (TCP) flow; marking a plurality of packets of the TCP flow with one of two differentiated services code points (DSCPs) according to a proportion that is selected to control a throughput associated with the TCP flow; and communicating at least a portion of the plurality of packets to a network.
Abstract:
In one embodiment, an HTTP streaming session may be initiated at a client device in a network. The client device may have a buffer and may be configured to request and receive one or more data segments over HTTP from an HTTP server. A first data segment at a first data source rate may be requested and subsequently received. The first data segment may be stored in the buffer. A second data source rate may then be calculated based on a storage level in the buffer, and a second data segment at the second data source rate may be requested.
Abstract:
Various implementations disclosed herein enable a more efficient allocation of one or more shared network resources (e.g., bandwidth, memory, processor time, etc.) amongst a number of client devices based on media content data complexity and client device resource constraints in order to better manage perceptual playback quality of adaptive streaming content. In some implementations, a method includes aligning sequences of one or more temporal segments; and, selecting segment representations for each temporal segment based on a combination of the sequence alignment and perceptual quality level values associated with available segment representations, such that a combination of resulting perceptual quality levels satisfies a joint quality criterion. Each sequence is associated with one of a number of client devices sharing a network resource. The one or more temporal segments of each sequence are used to provide segment representations of media content data to one of the client devices.
Abstract:
In one embodiment, an HTTP streaming session may be initiated at a client device in a network. The client device may have a buffer and may be configured to request and receive one or more data segments over HTTP from an HTTP server. A first data segment at a first data source rate may be requested and subsequently received. The first data segment may be stored in the buffer. A second data source rate may then be calculated based on a storage level in the buffer, and a second data segment at the second data source rate may be requested.
Abstract:
Techniques are provided for optimizing quality in adaptive streaming, where information is obtained relating to encoding bitrates and content quality scores for content segments of a content stream. The content segments of the content stream are provided by a content server and downloaded by a computing device. For each content segment, an encoding bitrate is determined for downloading the content segment from the content server, where determining the encoding bitrate for a current content segment is based upon an estimated current network bandwidth, constraints of a buffer into which downloaded content segments are stored, and also upon quality scores associated with content segments within a selected horizon extending from the current content segment to a future content segment in the content stream at an endpoint of the horizon. Each content segment with the determined bitrate for the content segment is downloaded from the content server.