• No se han encontrado resultados

B.- ASPECTOS OBJETIVOS DEL CLIMA LABORAL

4.1.5 DIMENSIONES DEL CLIMA ORGANIZACIONAL

Dynamic Adaptive Streaming over HTTP (DASH) is an open standard from the Moving Pictures Experts Group (MPEG) - (ISO/IEC - originally published in 2011 and revised in 2014). It is sometimes referred to as MPEG-DASH [6] to distinguish it from similar adaptive HTTP video streaming mechanisms such as Apple’s HTTP Live Streaming, Microsoft’s Smooth Streaming and Adobe’s Dynamic Streaming. MPEG-DASH is an open standard with a good number of freely available open- source implementations. It provides a flexible and mature framework on which an implementation of energy-aware adaptation for video can be built. Some of the desired functionality for our ideal energy-aware video adaptation mechanism is already inherent in the standard. This includes a robust mechanism for the automatic, adaptation of video streams without the need for any manual user intervention.

Figure 7.1 shows the default behaviour of DASH-enabled clients. This involves an estimation of the currently available network bandwidth. This value is used as an input parameter for an adaptation feedback loop, and the most appropriate video representation for the current network capacity is requested from the server as time progresses. Although available bandwidth is the default parameter, the open nature of the standard specification allows for flexibility in how this adaptation might be performed. Many researchers have taken advantage of this flexibility and have proposed many interestingcontext-awareadaptive video applications. Some of these

7.2. OVERVIEW OF MPEG-DASH 127

Figure 7.1: A typical control loop for DASH. The best video rate is selected based on current bandwidth estimates [174]

have been discussed in Chapter 3.

7.2.1

Technical Overview of MPEG-DASH

Figure 7.2:A visual representation of the MPEG-DASH end-to-end model.

128 CHAPTER 7. GREENDASH: ENERGY-AWARE ADAPTATION FOR GREEN VIDEO

Figure 7.2. First, a source video is transcoded into multiple bit-rates and sizes or representations, using a DASH-compliant encoding library such as GPAC1or FFmpeg2.

MPEG-DASH is a codec-agnostic solution. The specific codecs used to encode the video are not important and not stipulated by the standard. The only requirements in terms of the codec used is that the resultant encoded video stream can be encapsulated in one of two DASH-compliant video container formats - ISO/IEC 14496-12 ISO Base Media File Format (popularly known as MP4), and ISO/IEC 13818-1 MPEG-2 Transport Stream (MPEG-TS) [6]. Additionally, to support seamless switching between adaptation sets, the DASH-compliant encoding library will ensure that encoded video files must have the same temporal characteristics such as Group-of-Pictures (GoP) structure. This codec-agnostic behaviour of DASH provides an opportunity for making energy savings, as I previously showed that different codecs can have very different energy usage profiles.

As well as the various video encodings, the DASH encoder will also generate a manifest file containing detailed meta-data about the available representations of the media that have been created. This could include information about the bandwidth, resolution, codec and quality of the available files. This manifest file is formally referred to as the Media Presentation Document (MPD). The MPD file is a key component of the DASH architecture and is described in greater detail in Section 7.2.2 below.

For playback to commence, a DASH-compliant client needs to retrieve the MPD file normally via a HTTP GET request. The client will then parse the file, and become aware of the locations and meta-data of the various multimedia representations that are available. Based on current network characteristics, and possibly any other client- specific operating parameters such as screen size, device capability or user preferences, the client will then dynamically select and request the most appropriate segments , also via HTTP GET requests. The client will then continue to probe the network for existing conditions, and as they change (e.g. available network capacity drops or rises), the client willadaptby choosing to request the most appropriate video segments for the given conditions. This is normally done with minimal user input, although some video players may allow the user to override the automatic video selection.

1http://gpac.wp.mines-telecom.fr

7.2. OVERVIEW OF MPEG-DASH 129

Figure 7.3:DASH High-level MPD data model from the ISO/IEC 23009-1:2014 document[6]

7.2.2

Media Presentation Document (MPD) file format

The Media Presentation Document (MPD) is a key component of the MPEG- DASH system. A representation of the hierarchical document object model of the file is shown in Figure 7.3 (directly from the standard [6]). From the diagram, we can see that the MPD represents the complete set of a given media content stream as a series ofPeriodsat the top level. ThisPeriodis a temporal representation of all the multimedia content (video, text, images, audio) that can be played within that a given time duration. For instance, for a given duration of 60 seconds, a Period encapsulates all the multimedia that should be played for those 60 seconds. This can then be followed by other Periods.

Within aPeriod, there are one or moreAdaptation Sets. Essentially, these are sets of independent multimedia content streams that may or may not be presented in parallel with one another. For example, a common design pattern is to have one Adaptation Set for video, which contains all the availableRepresentations(i.e. video encoded at various different resolutions and bit-rates), and one or more Adaptation Sets containing the available audio representations available (for example, one Adaptation Set each for audio in different languages, and each Adaptation Set, for instance for English - will have one or more Representations of the same audio in

130 CHAPTER 7. GREENDASH: ENERGY-AWARE ADAPTATION FOR GREEN VIDEO

Figure 7.4:Descriptive diagram showing hierarchical arrangement of objects on the DASH MPD file. This is an alternative representation of the diagram in Figure 7.3.

various bit rates. Additional Adaptation Sets could contain special features such as text for subtitles in various languages, or other multimedia overlays within can be multiplexed with a main video stream.

The next level in the MPD hierarchy is the Representation Set. The individual

Representationswithin a set identify the available encodings of a given media content, and may not be presented in parallel. For instance, the representations could be several video encodings at varying bit-rates, resolutions and codecs. There are also several qualifying tags, namedattributes, which annotate these available content representations. Some examples of these attributes are@bandwidth, @qualityRanking, @height, @widthetc. These attributes describe various meta-data about the video encoding contained in that Representations. These Representations are then divided into Segments (and Sub-Segments), which encapsulate actual chunks of the video and audio data that can be requested from the server. If an adaptation switch needs to occur, e.g. the available bandwidth changes, then Segments from the appropriate Representation Set will be requested. A descriptive diagram showing how these components of the MPD data structure are arranged in practice is shown in Figure 7.4.