Avoiding zigzag quality switching in real content adaptive video streaming Wassim Ramadan, Eugen Dedu and Julien Bourgeois Laboratoire d’Informatique de l’Universit´ e de Franche-Comt´ e Montb´ eliard, France
DICTAP 21–23 June 2011
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
1 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Goals of zigzag avoiding
Improve user video experience by minimizing unnecessary quality switching Optimise network resource usage by minimizing packet loss rate
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
2 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Video adaptation and zigzag quality switching Dynamic bandwidth vs static bitrates
Ideal bitrate
3.5 3
If bitratebw: lost packets
0.5 0
0
20
40
60
80
100
120
140
160
180
Ideal: bitrate=bw
Time (s) available bandwidth Q0
Q1 Q2
Q3
many zigzags occur Bitrate of transmitted video (Mb/s)
120 3 100
2.5
80
2
Zigzag problem Adaptation leads to:
60
1.5 1
40
0.5
20 adapted video bitrate
0 0
20
40
60
80
100
120
140
160
many zigzags poor quality
0 180
Time (s)
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
3 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Video adaptation and zigzag quality switching Dynamic bandwidth vs static bitrates
Ideal bitrate
3.5 3
If bitratebw: lost packets
0.5 0
0
20
40
60
80
100
120
140
160
180
Ideal: bitrate=bw
Time (s) available bandwidth Q0
Q1 Q2
Q3
many zigzags occur Bitrate of transmitted video (Mb/s)
120 3 100
2.5
80
2
Zigzag problem Adaptation leads to:
60
1.5 1
40
0.5
20 adapted video bitrate
0 0
20
40
60
80
100
120
140
160
many zigzags poor quality
0 180
Time (s)
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
3 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Outline
1
Zigzag avoidance
2
Experiments
3
Conclusions and perspectives
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
4 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Outline
1
Zigzag avoidance ZAAL (Zigzag Avoidance ALgorithm)
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
5 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Overview of ZAAL
ZAAL Zigzag Avoidance ALgorithm ZAAL maintains a successfulness value for each bitrate which: is an arithmetic real value between 0 and 1 indicates the successfulness of the bitrate if used uses a historic of the application last attempts to use the bitrate is calculated at the end of an adaptation period is obtained by applying an EWMAa algorithm on the bitrate successfulness historic a
EWMA: Exponential Weighted Moving Average
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
6 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Details of ZAAL ZAAL works as follows at the beginning of a video transmission, all successfulness values Si a are set to 1 the application switches to a higher quality i + 1 only if Si > β b ZAAL uses the following general formula: Si = (1 − α/d)Si + s(α/d) c de a
i: bitrate index β = 0.7 switching threshold c if the bitrate succeeds s = 1 else s = 0 d α = 0.3 degree of EWMA weighting increase/decrease e and d = 1, 2 or 4 division factor b
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
7 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Formula of ZAAL Successfulness value can change in three cases
Application increases the bitrate
Application decreases the bitrate
s=1 d=1
s=0 d=1
S j : ji =1−α S jα
S i =1−α S i
Application maintains the bitrate s=1 d=1
s=1 d=4
S j : ji =1−α S jα
s=1 d=2
S i 1=1−α / 4 S jα / 4
S i =1−α / 2 S i α / 2 Wassim Ramadan, Eugen Dedu and Julien Bourgeois (a)
Avoiding zigzag quality switching (b)
8 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Outline
2
Experiments Network topology Zigzag avoidance checking
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
9 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Network used in experiments
Network parameters Parameter name Experiments place Packet size PC1 (sender): Wired card, 100Mb/s PC2 (shaper machine): Wireless card, 802.11b/g 54Mb/s PC2 (shaper machine): Wired card, 100Mb/s PC3 (receiver): Wired card, 100Mb/s PC1,2&3 OS PC1,2&3 OS kernel DCCP Distance (AP ↔ PC2)
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Parameter value In building 1024 bytes
Linux (Ubuntu 64bits) 2.6.35 generic Included in the kernel 50cm
Avoiding zigzag quality switching
10 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Zigzag avoidance, ex. of one flow in (case of) traffic shaping
Bitrate of transmitted video (Mb/s)
120 3 100
2.5
80
2
60
1.5
40
1
20
0.5 adapted video bitrate
0 0
20
40
60
80
100
120
140
160
0 180
Time (s)
(c) without ZAAL: many zigzags occur Bitrate of transmitted video (Mb/s)
120 3 100
2.5
80
2
60
1.5
40
1
20
0.5 adapted video bitrate
0 0
20
40
60
80
100
120
140
160
0 180
Time (s)
(d) with ZAAL: few zigzag occur Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
11 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Performance comparison Two experiments: one flow and ten concurrent flows
Method Without ZAAL With ZAAL
Sent pkts 47795 43548
Traffic shaping Received pkts 42043 39865
Lost pkts 5752 (12%) 3683 ( 8%)
Sent pkts 41191 36713
10 concurrent flows Received pkts Lost pkts 32307 8884 (21%) 32477 4236 (11%)
Number of sent and received packets (average of all flows) with and without ZAAL
in the first experiment, ZAAL has less sent and received packets than without ZAAL, but using ZAAL is more useful because it avoids the zigzag and leads to 30% fewer packet losses in the second experiment, ZAAL is better in terms of sent and received packets, avoiding the zigzag in the same time
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
12 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Outline
3
Conclusions and perspectives
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
13 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Conclusions ZAAL is a general solution, since it can be integrated to any adaptation method ZAAL avoids the undesirable constant switching in quality (the zigzag problem) Perspectives working on a hybrid solution, which uses a bandwidth estimation method together with ZAAL
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
14 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Conclusions ZAAL is a general solution, since it can be integrated to any adaptation method ZAAL avoids the undesirable constant switching in quality (the zigzag problem) Perspectives working on a hybrid solution, which uses a bandwidth estimation method together with ZAAL
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
14 / 15
Introduction
Zigzag avoidance
Experiments
Conclusions and perspectives
Questions?
Wassim Ramadan, Eugen Dedu and Julien Bourgeois
Avoiding zigzag quality switching
15 / 15