Equipped with the measurement study, we have designed EnDASH - an energy saving algorithm which acts like a wrapper over DASH.
DASH or Dynamic Adaptive Streaming over HTTP is the standard protocol used by video service providers to render streamed video over the Internet. In DASH, a video is first encoded in different bitrates, and then all encodings are broken into “chunks” of fixed playback duration. Every time a video client, i.e., the video player fetches a chunk, it estimates the current network condition and the status of the playback buffer to estimate the optimal bitrate at which the next chunk is to be fetched. An incorrect estimation percolates into several negative user experiences. For example, an incorrectly estimated high bitrate in the face of poor network conditions manifests into a higher rebuffering time. Similar, frequent changes in the bitrates of successive chunks or a low bitrate on the average also triggers dissatisfaction amongst users. To circumvent these problems Adaptive Bit-Rate (ABR) algorithms are used. The objective of these algorithms is to optimally select the chunk bitrates such that three conflicting objectives are met - (i) higher playback bitrates, (ii) lower rebuffering time, and (iii) lower smoothness. Some popular ABR algorithms are BOLA, MPC, Pensieve. While these algorithms propose to deliver optimal bitrates while optimizing on different input parameters (playback buffer length, rate, etc.), they do not focus on the energy efficient requirement of video streaming.
Our algorithm EnDASH strives to achieve the energy efficiency by tuning the playout buffer length to the concurrent network throughput. This ensures that the buffer length increases during good throughput condition. It yields two benefits: a) the video chunks are expected to be fetched at relatively high throughput conditions, b) less energy will be consumed in fetching and rendering the video chunks. The detailed flow of the algorithm is shown in Fig. 1.
Fig. 1. Composite Representation of the EnDASH model; a cascaded model where the predicted throughput acts as an input network state to the Actor Critic RL based decision engine |
There are three modules in the EnDASH architecture, which operates in a time-slotted fashion.
Throughput Prediction Engine: At the begininning of every time slot, it uses random forest based supervised learning algorithm to predict the average throughput over the slot. The datasets on throughput collected in the measurement study is used for the random forest learning based throughput prediction. The engine has an accuracy of nearly 92%
Buffer Length Prediction Engine: It uses the predicted throughput to determine the playback buffer length using a deep Reinforcement Learning algortihm. The deep reinforcement learning is implemented through actor-critic recurrent neural network. Since the relationship between throughput and buffer length is not straight-forward, hence reinforcement learning is used.
Bitrate Prediction Engine: Finally, within each time slot, the bitrate prediction engine uses the predicted buffer length to determine an optimal chunk bitrate before downloading a chunk. In this case also, we use a deep reinforcement learning algorithm implemented using an actor-critic recurrent neural network.
The outcome of the EnDASH algorithm is as below:
Fig. 2. Performance comparison of EnDASH with baseline ABR streaming algorithms, BOLA, Pensieve, Fast MPC, Robust MPC |
It is seen that EnDASH significantly saves the energy consumed by the smartphones albeit at the cost of marginal sacrifice of user’s Quality of Experience (QoE). In addition, the buffer length also increases in comparison with other baseline algorithms. Nevertheless, EnDASH appears to strike a reasonable trade-off between energy consumption and Quality of Experience (QoE).