Moving Picture Expert Group (MPEG) has been responsible for developing many multimedia standards, including MPEG-2, MPEG-4, MPEG-7, MPEG-21 and many others. MPEG recently developed a standard for streaming multiemeda over Internet. The standard is known as MPEG-DASH (ISO/IEC 23009-1).
HTTP streaming has become a popular approach for delivering of multimedia content over Internet. This approach has several benefits. First, the Internet infrastructure has evolved to efficiently support HTTP. For instance, CDNs provide localized edge caches, which reduce long-haul traffic. Also, HTTP is firewall friendly because almost all firewalls are configured to support its outgoing connections. HTTP server technology is a commodity and therefore supporting HTTP streaming for millions of users is cost effective. Second, with HTTP streaming the client manages the streaming without having to maintain a session state on the server. Therefore, provisioning a large number of streaming clients doesn’t impose any additional cost on server resources beyond standard Web use of HTTP, and can be managed by a CDN using standard HTTP optimization techniques.
For all of these reasons, HTTP streaming has become a dominant approach in commercial deployments. For instance, streaming platforms such as Apple’s HTTP Live Streaming, Microsoft’s Smooth Streaming, and Adobe’s HTTP Dynamic Streaming all use HTTP streaming as their underlying delivery method. However, each implementation uses different manifest and segment formats and therefore, to receive the content from each server, a device must support its corresponding proprietary client protocol. A standard for HTTP streaming of multimedia content would allow a standard-based client to stream content from any standard-based server, thereby enabling interoperability between servers and clients of different vendors.
Observing the market prospects of Internet Streaming and by the request of the industry, MPEG issued a Call for Proposal for an HTTP streaming standard in April 2009. Fifteen full proposals were received by July 2009, when MPEG started the evaluation of the submitted technologies. In the two years that followed, MPEG developed the specification with participation from many experts and with collaboration from other standard groups, such as the Third Generation Partnership Project (3GPP). The resulting standard is known as MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH) and is expected to be published as ISO/IEC 23009-1
The Scope of Standard
Figure 1 illustrates a simple streaming scenario between an HTTP server and a DASH client. In this figure, the multimedia content is captured and stored on an HTTP server and is delivered using HTTP. The content exists on the server in two parts: Media Presentation Description (MPD), which describes a manifest of the available content, its various alternatives, their URL addresses, and other characteristics; and segments, which contain the actual multimedia bitstreams in the form of chunks, in single or multiple files.
To play the content, the DASH client first obtains the MPD. The MPD can be delivered using HTTP, email, thumb drive, broadcast, or other transports. By parsing the MPD, the DASH client learns about the program timing, media-content availability, media types, resolutions, minimum and maximum bandwidths, and the existence of various encoded alternatives of multimedia components, accessibility features and required digital rights management (DRM), media-component locations on the network, and other content characteristics. Using this information, the DASH client selects the appropriate encoded alternative and starts streaming the content by fetching the segments using HTTP GET requests.
After appropriate buffering to allow for network throughput variations, the client continues fetching the subsequent segments and also monitors the network bandwidth fluctuations. Depending on its measurements, the client decides how to adapt to the available bandwidth by fetching segments of different alternatives (with lower or higher bitrates) to maintain an adequate buffer.
The MPEG-DASH specification only defines the MPD and the segment formats. The delivery of the MPD and the media-encoding formats containing the segments, as well as the client behavior for fetching, adaptation heuristics, and playing content, are outside of MPEG-DASH’s scope.
MPEG-DASH Highlighted Features
Internet friendly. MPEG-DASH uses standard HTTP protocol. It can be deployed using standard web servers and it work with existing Internet infrastructures, including CDNs, caches, firewalls and NATs.
On-demand, live and time-shift applications. MPEG-DASH supports on-demand, live and time-shift applications and services with a single framework.
Switching and selectable streams. The MPD provides adequate information to the client for selecting and switching between streams, for example, selecting one audio stream from different languages, selecting video between different camera angles, selecting the subtitles from provided languages, and dynamically switching between different bitrates of the same video camera.
Ad insertion. Advertisements can be inserted as a period between periods or segment between segments in both on-demand and live cases.
Compact manifest.The segments’ address URLs can be signaled using a template scheme resulting in a compact MPD.
Fragmented manifest. The MPD can be divided into multiple parts or some of its elements can be externally referenced, enabling downloading MPD in multiple steps.
Common Encryption and Multiple DRM support. The content can be encrypted once and delivered to client supporting various DRM schemes. The suppoted DRM schemes can be signaled in MPD.
Segments with variable durations. The duration of segments can be varied. With live streaming, the duration of the next segment can also be signaled with the delivery of the current segment.
Multiple base URLs. The same content can be available at multiple URLs—that is, at different servers or CDNs—and the client can stream from any of them to maximize the available network bandwidth.
Clock-drift control for live sessions. The UTC time can be included with each segment to enable the client to control its clock drift.
Scalable Video Coding (SVC) and Multiview Video Coding (MVC) support.The MPD provides adequate information regarding the decoding dependencies between representations, which can be used for streaming any multilayer coded streams such as SVC and MVC.
A flexible set of descriptors. These describe content rating, components’ roles, accessibility features, camera views, frame packing, and audio channels’ configuration.
Subsetting adaptation sets into groups. Grouping occurs according to the content author’s guidance.
Quality metrics for reporting the session experience. The standard has a set of well-defined quality metrics for the client to measure and report back to a reporting server.
MPEG-DASH and its related specifications are in verge of completion and will be published by ISO soon:
- The latest MPEG-DASH specification (ISO/IEC DIS 23009-1:2) is
available at ISO on-line store.
- The ISO Base Media File Format specification (ISO/IEC 14496-12)
is also available at ISO on-line store. The Amd 3 is in the process of being published by ISO.
- The Common Encryption specification (ISO.IEC 23001-7) will also
be available at ISO on-line store soon.
Conference Papers and Tutorials
Several conference papers and tutorial have been published with respect to
MPEG-DASH. Among them are:
- I. Sodagar, “The MPEG-DASH Standard for Multimedia Streaming Over the Internet”, IEEE Multimedia, Oct-Nov 2011.
- T. Stockhammer, I. Sodagar, “MPEG DASH: The Enabler Standard for Video Deliver Over The Open Internet,” IBC Conference 2011, Sept 2011.
- I. Sodagar and H. Pyle, “Reinventing multimedia delivery with MPEG-DASH”, SPIE Applications of Digital Image Processing XXXIV, Sept 2011.
- T. Stockhammer: “Dynamic Adaptive Streaming over HTTP-Design Priciples and Standards” In: MMSys ’11: Proceedings of the second annual ACM conference on Multimedia systems New York, NY, USA: ACM Press , Feb 2011 , S. 133-144.