Let's look into the overall MPD. What is in here? And what is the structure? As you see way over there in the MPD which is the media presentation description, look, there are periods, period ID, start units, and multiple of those are included inside. If you look at one of the blocks and expand it out, let's say we're looking at period ID number two, and open it up, then you will see this over here. In which it has a start of 60 seconds. In addition, there's adaptations set zero, set one, and set two inside. What is in this adaptation set? Well, let's open up adaptations set one. Inside you see the representation one, at 5 megabytes per second, representation two at 2 megabytes per second. You see the representation three at 500 kilobytes per second, and you see representation four which supports trick mode. Trick mode is very convenient, having it in there is good. Looking into what's in this representation, let's open up representation two. And it has of course the two megabytes per second, this is where the segment information is included. What's in the segment information? This is in the segment information. Where you see it has its duration listed, and there are initialization segment, media segment one, segment two, media segment three, media segment four, and this information is included inside. So, overall, now you know what is inside the MPD, and why the MPD is so important to support and help the DASH client which is using MPEG- DASH, which is used in video services like YouTube. The MPD contains multiple periods, the periods contain multiple adaptation sets, the period is a program time interval which includes information on the starting time and it's duration. The adaptation set contains multiple representations. A representation, this will have different bitrate encodings of video or audio of the same multimedia content. The bitrate is based on resolution, number of channels, and other information. The representation for Trick Mode can be included, and for YouTube, having that in there is a necessity. Once again, the trick mode is this application where you can go fast-forward or review, and look at a certain place. We already studied some frame information, like the I-frame, the P-frame, and the B-frame. Typically, the I-frame is used when you're doing Trick Mode. So, when you put your finger down, and you move it around to look at a certain point in the video, then both the video reference point and the audio reference point will be moved around together. But, instead of hearing something, typically you'll see an image of when you turn on your video at this point, then this will be the starting image you will see. Typically, it is useful to use I-frames when you're representing this part, because I-frames are complete information. They have independent information of the complete image inside. So, therefore, if you're developing a video service streaming mechanism like this, then in Trick Mode those small windows could be low resolution I-frames that are shown. Bent step number four, representations consists of multiple media segments information, segments are chunks of the media stream in a time order sequence. Each segment has a URI, a Uniform Resource Identifier, and this is critical to be used in web-based applications. The URI is used as the server's address location from where the multimedia content can be downloaded from. Once again, web-based application support of where the information is, and the URI will provide its web-based location identifying information. Download uses HTTP GET, which may include the byte ranges. Step five, segment information includes its initialization segment and inflammation of multiple media segments. MPEG-DASH specifications have many features which include; switching and selectable streams, ad insertion. This may seem trivial, but if you're the company that is supporting the server and video streaming, actually ad insertion maybe your most important thing. Compact manifest, and fragment manifest. In addition, it has segments with variable durations. All of this is used in adaptive video streaming techniques. Looking at the overall switching and selectable streams, in period one, you see video at five megabytes per second, two megabytes per second, and lower rates. Audio in English at the 128 kilobytes per second, 48 kilobytes per second level. Then, audio in French at the 128 kilobytes per second and 48 kilobytes per second. In addition, you will see subtitles, in English and French. This is what we have in the switching and selectable streams based upon units that are segmented in periods. Switching and selectable streams. The MPD provides adequate information to the client for selecting a switching between streams. Selecting one audio stream from different languages is possible. Selecting video between different camera angles is also possible. Selecting the subtitle from provided languages is possible. Dynamically switching between different bit rates of the same video camera is also possible. So, you can see the diverse based switching selectable items that are supported in MPEG-DASH, and this is what makes it so great and so effective. Ad insertion. Advertisements can be inserted as a period between periods, or segment between segments. In both on-demand and live cases. On both on-demand and live cases. Meaning that you can include ads in support of pre-scheduled ones, as well as on-demand, and live. That provides wonderful flexibility to the service provider, and once again, including an ad maybe the most important resource of revenue for the company that is in charge of the video streaming or the server. So, therefore it is so important. In addition, compact manifest, fragmented manifest. The compact one is the segments address URLs can be signal using a template scheme. Results in a compact MPD. Then, the MPD can be divided into multiple parts where some of its elements can be externally referenced. Enables downloading MPD in multiple steps. There are benefits and advantages, pros and cons of each one of these. Segments with variable durations. As you can see in this example down here, duration of segments can be varied. Duration information and live streaming. The duration of the next segment can be provided in events along with delivery of the current segment. Especially when you're doing live streaming, having this flexibility in variable durations of your segments is very beneficial. Here is an example of MPEG-DASH features, where you can see the content, and different servers or CDN is listed here, where multiple base URLs can be used. The same content can be available at multiple URLs, client can stream from any URL that is provided, and you can see the DASH Encoder over here, the DASH Client over here, and in the middle different servers or CDN network connected, where content segments are listed here. The option of CDN as it's showing up, up, and again, and again, and again, in this is why we will study about CDN in the next module of this course. Clock drift control for live sessions. Here, the UTC time can be included with each segment. UTC time enables the client to control its clock drift and resynchronize, such that the video streaming process that is being conducted over the internet and other Wide Area Network, and small area, local area network technologies, these are all coordinated perfectly, based upon the UTC. Coordinated Universal Time. That is included in the segments as you can see here, where the UTC time reference is inside. Then, in step number eight, we have SVC and MVC is supported. Both of these are important. SVC is Scalable Video Coding, and MVC is Multi-View Video Coding. Both of these are important. The MPD provides adequate information regarding the decoding dependencies between these representations. This information can be used for streaming any SVC or MVC multilayer coded streams. A flexible set of descriptors is also one of the features. The descriptors describe the content rating, components role, accessibility features, camera views, frame packing, audio channels' configuration. All of this is so important. Gives you the capability to control, and switch, and select what you're going to be using in your display. Number 10, sub-setting adaptations sets into groups. Where grouping occurs according to the content authors guidance. So, you can see that the author of the content can have some type of selection mode in which it is presented in a way that it is desired by the original creator. Quality metrics for reporting the session experience. MPEG-DASH standards has a set of quality metrics. These metrics are used by the client to measure and report back to a server. So, the server can get feedback on the quality of the session experience. So, this information can be collected and used to improve the way that the network is managed and controlled, and various other characteristics can be prepared, scheduled, and deployed based upon this very important information. Most of these features are provided in flexible and extensible ways. They're not required. You get to select what you want to use, and among the options that are provided, you can decide how you're going to use them. This enables MPEG-DASH to be used in flexible ways, in various future applications. This is why I am teaching this in such detail. Because MPEG-DASH is not going anywhere. It is the technology of today, and it's going to be the technology of the future. So, if you understand what I just explained, you will be able to use it in various ways for your applications in the future. These are the references that I used, and I recommend them to you. Thank you.