• No results found

The MPEG-DASH specification defines none of the MPD delivery method, the media- encoding formats and the client side implementation [23]. Instead, only the MPD and the segment formats are defined. By standardizing the data representation and the MPD, DASH aims to provide an HTTP streaming enabler without constraining the client design.

3.2.1 MPD format

[4]

Figure 10: The structure of MPD

As stated by Sodagar [4], “Dynamic HTTP streaming requires various bitrate alternatives of the multimedia content to be available at the server. In addition, the multimedia content may consist of several media components (e.g. audio, video, text), each of which may have different characteristics. In MPEG-DASH, these characteristics are described by MPD which is an XML document ”. By generating the MPD in the XML (Extensible Markup Language) format, a hierarchical data structure can be conveniently constructed, which in turn benefits the parsing process at the client side.

Figure 10 shows the hierarchical structure of the MPD, defined by MPEG-DASH. An MPD file contains one or more periods, which forms the top level of the data hierarchy. Each period contains an interval of the multimedia content, with a starting time and playback duration. Within a period, there can be one or more adaptation sets, with each adaptation set containing a media component of the DASH content. According to Sodagar [4], a possible composition of the adaptation sets could be that one adaptation set contains the video component of the multimedia content,

Each representation consists of multiple segments, which contains the actual multi- media payload. These segments are divided chunks of the original media stream in temporal sequence. Each segment is also assigned a relative URL. Together with the base URL provided in the MPD, the DASH client can construct the absolute URLs of all segments. By constructing HTTP GET messages based on the absolute URLs, these segments can be downloaded through HTTP.

With the MPD format well defined in the DASH specification, the parsing of the MPD file is left to the client side functionality. A sample MPD file is presented in the appendix A.2

3.2.2 Segment format

According to Sodagar [4], in DASH, “the multimedia content can be accessed as a collection of segments ”. As we discussed earlier, these segments are the encoded and divided pieces of the original multimedia stream.

The first segment shall serve as an initialization segment , from which the DASH client can extract the required information to initiate the media decoder. “The media stream then is divided to one or multiple consecutive media segments. Each media segment is assigned a unique URL (possibly with byte range), an index, and explicit or implicit start time and duration. Each media segment contains at least one Stream Access Point (SAP), which is a random access or “switch-to” point in the media stream where decoding can start using only data from that point forward. To enable downloading segments in multiple parts, the specification defines a method of signaling subsegments using a segment index box. This box describes subsegments and stream access points in the segment by signaling their durations and byte offsets. The DASH client can use the indexing information to request subsegments using partial HTTP GETS.” [4].

3.2.3 Live vs on demand

DASH supports both live and on-demand content streaming. In the case of on demand content, the MPD file shall provide the start time and duration of each segment. In the case of live, the MPD shall contain the segment availability information in the form of the available start time and available end time. Other information such as the approximate media start time, the fixed or variable duration of segments shall also be provided by the MPD to support live streaming. In short, for both live and on-demond streaming, the MPD file shall provide necessary information in its hierarchical structure to support the streaming process. Details and examples of

the possible implementations for Dash live streaming and on-demand streaming are presented by Stockhammer [2].

3.2.4 Copyright protection

Liu [24] addressed the necessity for digital rights protection when copyrighted content is distributed over the Internet. A Digital Rights Management (DRM) system is usually used for such protection. A consumer who uses the DRM service typically pays for a digital license, which is a digital data file. Based on the decryption key and other information provided by the digital license, the consumer is able to access the encrypted content from a content distributor who uses this DRM system. Since DASH streams digital content over the Internet, it is important for the system to support popular DRM schemes. According to Sodagar [4], MPEG-DASH allows an adaptive set to “ use a content protection descriptor to describe the supported DRM scheme.”

“In conjunction with the MPEG-DASH standardization, MPEG is also developing a common encryption standard, ISO/IEC 23001-7, which defines signaling of a common encryption scheme of media content.” [4] Based on the signaling messages and the content protection descriptor in the MPD, a DASH client can work with a supported DRM system and receive the encrypted stream from the server.

3.2.5 Special features

MPEG-DASH has also defined a collection of various special features to enrich the functionalities of DASH. These features include advertisement insertion, compact manifest, fragmented manifest, segment with variable durations, multiple base URLs and so on. Details can be found in [4].

Related documents