Article Preview
Top1. Introduction
As the world battles the existing COVID-19 pandemic from home, the demand for streaming applications exploded (Koponen, 2019). At the same time, user expectations and demands for uninterrupted viewing at higher video quality have increased. Several studies concluded that users tend to leave video sessions if the quality is not adequate, harming the revenues of content providers (Mao et al., 2017). Mainly, metrics like re-buffering duration, playback rate and quality switching surfaced as critical factors (Yin et al., 2015). Considering the intricate web-based video delivery ecosystem and its various bottlenecks, adaptive bitrate (ABR) algorithms become essential to content providers to optimize video quality. Dynamic adaptive streaming over HTTP (DASH) technology deploys HTTP as its delivery protocol along with TCP as its transport layer protocol. TCP a connection oriented and reliable protocol that offers error checking and in-order delivery is widely deployed in content delivery networks (CDN) for web services.
In DASH, the bitrate and effective quality of the video stream are allowed to vary in accordance with the accessible resources on a sensible timescale. Relevant resources are mainly the network throughput and the availability of the playback buffer (Yin et al., 2015). The client initiates a streaming session with the server and fetches the desired video’s manifest file. The media presentation description (MPD), typically an XML file, provides the necessary information such as uniform resource locators (URLS), bitrates, resolutions, size and availability of the video segments. The client sends HTTP GET requests to fetch the video segments then plays the received video segments while the subsequent segments are being downloaded. The video file is divided into short segments (commonly 1-10 seconds long) which are processed individually. These video segments are encoded at several quality levels (QL) with respect to multiple video attributes such as the resolution, frame rate, and video-coding format. The QLs reflect the segments’ bitrate, which is the amount of data encoded per second (bit/s). The bitrate dictates the size and quality of video and audio files, such that the higher the bitrate, the better the expected quality and the larger the file size. The client may seamlessly switch between quality levels for each segment. The streaming system performs video quality levels selection based on streaming client’s local information such as network quality of service (QoS) (like available throughput and network delay), playback buffer occupancy and server workload.
Presently, DASH is one of the predominant and compelling technologies in Internet video streaming. A significant number of techniques, algorithms and systems have been positioned around this standard, which aim to offer users the best possible viewing experience. Nevertheless, the user-perceived experience still suffers from frequent stalling events and varying image quality (Yin et al., 2015) and (Yu et al., (2017). Figure 1 shows an example of ABR in DASH systems, in which the QL is adjusted according to the network QoS. The client’s video player makes decisions on the next selected QL by examining different inputs such as buffer status and network throughput. The player needs to take into account possible conflicting quality of experience (QoE) matters (Dobrian et al., 2013):
- 1.
Provide high bitrate video segments within the throughput limits.
- 2.
Minimize rebuffering occurrences in which the buffer is empty and does not have any content to play.
- 3.
Reduce quality switching to smooth out the playback of the video.
Clearly, the aforementioned objectives conflict with one another. For instance, one way to minimize rebuffering would be to select the lowest bitrate. However, this contradicts with providing high video quality since it means that high bitrates need to be selected. On the other hand, selecting high bitrates is expected to cause rebuffering events. Likewise, lowering quality switching may also conflict with the other two objectives if the optimal solution is to minimize rebuffering events while maximizing the average bitrate through frequent switching of bitrates.