INTERNATIONAL JOURNAL OF DIGITAL INFORMATION AND WIRELESS COMMUNICATIONS (IJDIWC) 1(1): 126–145 THE SOCIETY OF DIGITAL INFORMATION AND WIRELESS COMMUNICATIONS, 2011 (ISSN 2225-658X) Avoiding quality oscillations during adaptive streaming of video Wassim Ramadan Eugen Dedu * Julien Bourgeois Laboratoire d’Informatique de l’Universit´ e de Franche-Comt´ e Num´ erica, Cours Leprince-Ringuet, BP 21126, 25201 Montb´ eliard, France {Wassim.Ramadan,Eugen.Dedu,Julien.Bourgeois}@pu-pm. univ-fcomte.fr ABSTRACT A high number of videos, encoded in several bi- trates, are nowadays available on Internet. A high bitrate needs a high and stable bandwidth, so a lower bitrate encoding is usually chosen and transferred, which leads to lower quality too. A solution is to adapt dynamically the current bitrate so that it al- ways matches the network bandwidth, like in a clas- sical congestion control context. When the bitrate is at the upper limit of the bandwidth, the adaptation switches constantly between a lower and a higher bitrate, causing an unpleasant oscillation (zigzag) in quality on the user machine. This paper presents a solution to avoid such oscillations. It uses an EWMA (Exponential Weighted Moving Average) value for each bitrate, which reflects its history. The evalu- ation of the algorithm shows that loss rate is much smaller, bitrate is more stable, and so received video quality is better. Keywords: Real time content, Video streaming, Rate control, Congestion control * Corresponding author. 1 INTRODUCTION Nowadays, the number of videos encoded in several bitrates and accessible for everyone in- creases significantly day by day. Their con- tents are generally delivered to final user using streaming services over Internet. These services as well as the demand for high video quality (e.g. HD and 3D videos) are in constant pro- gression. They require more and more band- width, hence available bandwidth variation must be taken into account to shorten buffering time at the receiver. Currently, one video bitrate is chosen at the beginning of a video streaming; the transmis- sion is controlled at the network layer (TCP or UDP) and application is not involved at all. Hence, two choices exist when playing streamed video content. The first is to choose a low video bitrate, and the video is played directly, with- out interruption. The second is to choose a bit- rate higher than average bandwidth, buffer mul- 126