In conventional HTTP-based adaptive streaming (HAS), a video source is encoded at multiple levels of constant bitrate representations, and a client makes its representation selections according to the measured network bandwidth. While greatly simplifying adaptation to the varying network conditions, this strategy is not the best for optimizing the video quality experienced by end users. Quality fluctuation can be reduced if the natural variability of video content is taken into consideration. In this work, we study the design of a client rate adaptation algorithm to yield consistent video quality. We assume that clients have visibility into incoming video within a finite horizon. We also take advantage of the client-side video buffer, by using it as a breathing room for not only network bandwidth variability, but also video bitrate variability. The challenge, however, lies in how to balance these two variabilities to yield consistent video quality without risking a buffer underrun. We propose an optimization solution that uses an online algorithm to adapt the video bitrate step-by-step, while applying dynamic programming at each step. We incorporate our solution into PANDA -- a practical rate adaptation algorithm designed for HAS deployment at scale.
Media streaming over unreliable networks such as the Internet is growing in popularity, but presents unique challenges when trying to get the user experience to be on par with classical mediums such as cable television. These networks have variable network conditions which not only vary between a set of points in the network, but also change over time. In this paper, we present a rate-distortion (R-D) optimized algorithm for adapting the bitrate of streaming media from a chunked encoding, where each chunk is available at multiple bitrates (or quality levels) or is scalable coded. The optimization takes into account the desired startup latency, the desired client buffer size, the current client buffer size, and the estimated network bandwidth. The problem is formulated as a distortion minimization problem subject to multiple rate constraints. For video content, the solution gives a gain of up to 3–4dB in PSNR in difficult portions of the video when compared to commonly used adaptation techniques and can achieve an arbitrarily small desired startup latency.