Effective October 1, 2012, QUALCOMM Incorporated completed a corporate reorganization in which the assets of certain of its businesses and groups, as well as the stock of certain of its direct and indirect subsidiaries, were contributed to Qualcomm Technologies, Inc. (QTI), a wholly-owned subsidiary of QUALCOMM Incorporated. Learn more about these changes

You are here

DASH: Adaptive Streaming over HTTP

Video streaming has become one of the most prominent Internet applications. And more recently, with the introduction of a variety of smartphones and tablets, video streaming over wireless networks has also become an important application.

Wireless data transmissions are subject to significantly higher variations in bandwidth and delay compared to similar transmissions via a wired network. Qualcomm’s Adaptive Streaming R&D project aims to enhance the user experience with video streaming over a wireless connection, by seamlessly adapting the video quality and bit rate according to available bandwidth, device capability and content characteristics. Qualcomm’s solution is based on the DASH (Dynamic Adaptive Streaming over HTTP) standard from MPEG and 3GPP. Recently, the DASH Industry Forum was formed by several companies, including Qualcomm, to facilitate the adoption of the DASH standard.

Details

Increasingly, video is being watched on mobile devices. People are interested in watching movies, sports highlights and news updates wherever they are. In addition, operators and content publishers are making high value content such as sports, concerts, movies and other forms of video available to mobile devices.

Adaptive streaming helps enhance the user experience by adapting the requested video quality based on available bandwidth, device capability and other factors. Compared to traditional video streaming, which requires dedicated streaming servers, HTTP-based adaptive streaming can use off-the-shelf web servers and benefit from the scale of content distribution networks. Adaptive delivery allows for graceful improvement or degradation of video quality without stoppage under varying channel conditions, and can be used to handle different types of wireless connections including 3G, 4G, and Wi-Fi.

Qualcomm's adaptive streaming team is fully engaged in the R&D and commercialization of adaptive streaming technologies based on the newly standardized MPEG DASH (Dynamic Adaptive Streaming over HTTP) standard. Our efforts cover the following aspects: 1) Client-side algorithm design for video quality adaptation; 2) Performance measurement and evaluation of adaptively streamed video; 3) Bringing adaptive streaming into Android Platform; 4) Standardization of adaptive streaming protocols – MPEG DASH; and 5) Methods to enhance the reliability and efficiency of adaptive delivery.

The available bandwidth experienced by a mobile device can change precipitously. Instead of downloading a video encoded at a low fixed bit rate, Qualcomm’s adaptive streaming client algorithm will continuously monitor available bandwidth and adapt the requested video bit rate to maximize the user experience in such a way that the video quality is sustainably high, while stalls and jitter are minimized.

Snapdragon Transport Accelerator

Video streaming uses more traffic than any other application on the internet. This has resulted in a substantial increase in network traffic, which continues to grow at an unprecedented rate. Video streaming also has requirements that conventional network protocols, such as TCP and HTTP, were not adequate enough to meet. For instance, the protocols for video streaming were not made to deliver data at a steady rate and with a low latency. Video streaming is also inefficient under difficult network conditions due to packet losses or large round trip times. This behavior is especially important for mobile networks, which are much more susceptible to these types of conditions than wired connections are.

However, one of the key advantages of HTTP is that it is ubiquitous. Additionally, streaming solutions based on HTTP are much easier to deploy than solutions based on any other protocol and much of the available web infrastructure is designed for HTTP.

The Snapdragon Transport Accelerator helps solve these challenges by bringing low latency and high throughput to HTTP, even under challenging network conditions.

Overview

The Snapdragon Transport Accelerator uses multiple HTTP connections in parallel to speed up content delivery. The technology does not rely on any server side adjustments and works solely with standard web servers. For example, the picture below shows a frame of a HLS video player not equipped with Snapdragon Transport Accelerator:

With the Snapdragon Transport Accelerator, better video quality is obtained as a result of a much higher playback rate. The following picture is the same frame that was taken from a DASH video player equipped with the Snapdragon Transport Accelerator:

The following graph depicts the evolution of the playback rate of adaptive video streaming systems over time. It shows that the player with the Snapdragon Transport Accelerator (STA) sustainably achieves a much higher playback rate over varying challenging channel conditions than the one without it.

The use of multiple HTTP connections poses multiple challenges to media streaming because it is not only important to achieve a high download rate but also to deliver data in a timely fashion. As such, a streaming application needs to steadily receive data to be able to play out without incurring re-buffering events.

One of the challenges with the time scale relevant to media streaming is that the individual TCP connections can vary greatly in speed. Snapdragon Transport Accelerator mitigates this variation by incorporating several mechanisms to ensure timely delivery even when multiple TCP connections are used. It also adjusts automatically and regularly to changing conditions in the network or on the stream, in order to provide the best possible user experience. This is illustrated when the number of TCP connections is continuously adapted to changing network conditions.