Streamlining Python Development: A Guide to a Modern Project Setup
Oscillation Compensating Dynamic Adaptive Streaming over HTTP
1. Oscillation
Compensating
Dynamic
Adaptive
Streaming
over
HTTP
Christopher
Mueller,
Stefan
Lederer,
Reinhard Grandl,
and
Christian
Timmerer
Alpen-‐Adria-‐Universität Klagenfurt
(AAU)
w Faculty
of
Technical
Sciences
(TEWI) w Department
of
Information
Technology
(ITEC)
w Multimedia
Communication
(MMC) w Sensory
Experience
Lab
(SELab)
http://blog.timmerer.com w http://selab.itec.aau.at/w http://dash.itec.aau.at w christian.timmerer@itec.aau.at
Chief
Innovation
Officer
(CIO)
at
bitmovin
GmbH
http://www.bitmovin.com w christian.timmerer@bitmovin.com
Slides:
http://www.slideshare.net/christian.timmerer
IEEE
ICME
2015,
June
29
– July
3,
2015
2. July
2,
2015 IEEE
ICME
2015 2
Submission
deadline:
November
27,
2015
http://www.mmsys.org/ |
http://mmsys2016.itec.aau.at/ |
@mmsys2015
3. Outline
• Introduction,
Motivation,
Problem
Statement
• Metrics
and
Tools
• Buffer-‐based
Adaptation
Algorithm
with
Oscillation
Detection
and
Compensation
• Experimental
Results
• Conclusions
and
Future
Work
July
2,
2015 IEEE
ICME
2015 3
4. Over-‐The-‐Top
– Adaptive
Media
Streaming
• In
a
Nutshell
…
Adaptation logic is within the
client, not normatively specified
by the standard,subject to
research and development
July
2,
2015 IEEE
ICME
2015 4
5. Why
do
we
do
that?
• HTTP-‐based
multimedia
streaming
is
being
massively
deployed
– Accounts
for
more
than
60%
of
Internet
traffic in
peak
periods
• Client-‐centric
approach
– Adaptation
algorithm/logic
– Client
behavior
subject
to
research
– Throughput-‐basedvs.
buffer-‐based
• What
happens
when
multiple
clients
compete with
each
other?
July
2,
2015 IEEE
ICME
2015 5
Source:
Global
Internet
Phenomena
Report:
2H
2014
6. What’s
the
problem?
• Big
Buck
Bunny
with
different
representations
• Throughput-‐based
adaptation
• Common
test
setup w/
two
clients
and
varying
bandwidth
July
2,
2015 IEEE
ICME
2015 6
5HTXHVWHGq0HGLDq%LWUDWH
0ESV
3
4
f
S
c
5HTXHVWHGq0HGLDq%LWUDWH
%XIIHU
6HFRQGV
3
43
f3
S3
c3
6HFRQGV
3 o3 433 4o3 f33 fo3 S33
%XIIHU
6HFRQGV
3 o3 433 4o3 f33 fo3 S33
Without
cache
7. What’s
the
problem?
• Big
Buck
Bunny
with
different
representations
• Throughput-‐based
adaptation
• Common
test
setup w/
two
clients
and
varying
bandwidth
July
2,
2015 IEEE
ICME
2015 7
5HTXHVWHGq0HGLDq%LWUDWH
0ESV
3
4
f
S
c
5HTXHVWHGq0HGLDq%LWUDWH
%XIIHU
6HFRQGV
3
43
f3
S3
c3
6HFRQGV
3 o3 433 4o3 f33 fo3 S33
%XIIHU
6HFRQGV
3 o3 433 4o3 f33 fo3 S33
With
cache
8. Our
metrics
and
tools!
• Adaptation-‐specific
– Quality
switching
variance:
change
of
representation
– Oscillation
variance:
includes
direction
of
switching
• Buffer-‐specific
– Buffer
model
restricting
available
quality
levels
• Based
on
buffer
fill
state
• Fitting
to
available
quality
levels
&
network
conditions
• Different
behavior:
linear,
exponential,
logarithmic
– Worst
case
buffer:
minimum
buffer
fill
state
in
seconds
that
shall
be
available
prior
to
the
download
of
segment
July
2,
2015 IEEE
ICME
2015 8
9. Our
approach!
(1/2)
• Buffer-‐based
adaptation
algorithm
including:
– Oscillation
detection
– Oscillation
compensation
– Fully
client-‐centric
• Oscillation
factor
– Depends
on
quality
switching
variance and
oscillation
variance
– Increases
when
both
metrics
become
different
July
2,
2015 IEEE
ICME
2015 9
10. Our
approach!
(2/2)
• Buffer-‐based
adaptation
– c
…
min.
buffer
level
(aka
steady
state)
– b
…
fitting
based
on
a
given
c
– a
…
max.
representation
bitrate
• Compensation
algorithm
– Low
&
high comp.
July
2,
2015 IEEE
ICME
2015 10
/RJDULWKPLFg%LWUDWHg5HVWULFWLRQ
0D[LPXPgSYDLODEOHg%LWUDWH
0LQLPXPgSYDLODEOHg%LWUDWH
SOORZHGg0HGLDg%LWUDWHg>0ESV@
u
A
v
l
b
%XIIHUg)LOOg6WDWXVg>h@
u usv usb usd usp A
11. Our
results!
(1/2)
July
2,
2015 IEEE
ICME
2015 11
5HTXHVWHGq0HGLDq%LWUDWH
0ESV
3
4
f
S
c 5HTXHVWHGq0HGLDq%LWUDWH
%XIIHU
6HFRQGV
3
43
f3
S3
c3
%XIIHU
2VFLOODWLRQq)DFWRU
3
3pf
3pc
3pn
3pl
4
6HFRQGV
3 o3 433 4o3 f33 fo3 S33
2VFLOODWLRQq)DFWRU
6HFRQGV
3 o3 433 4o3 f33 fo3 S33
5HTXHVWHGq0HGLDq%LWUDWH
0ESV
3
4
f
S
c 5HTXHVWHGq0HGLDq%LWUDWH
%XIIHU
6HFRQGV
3
43
f3
S3
c3
%XIIHU
2VFLOODWLRQq)DFWRU
3
3pf
3pc
3pn
3pl
4
6HFRQGV
3 o3 433 4o3 f33 fo3 S33
2VFLOODWLRQq)DFWRU
6HFRQGV
3 o3 433 4o3 f33 fo3 S33
W
i
t
h
o
u
t
c
a
c
h
e
W
i
t
h
c
a
c
h
e
12. Our
results!
(2/2)
July
2,
2015 IEEE
ICME
2015 12
/RJDULWKPLFg×XIIHUg0RGHOg3GDSWDWLRQ
7KURXJKSXWg0HDVXUHPHQWg3GDSWDWLRQ
4XDOLWg6ZLWFKLQJg9DULDQFHg>0ESVð@
pAy
TîpAy
7LPHg>6HFRQGV@
A QA pAA pQA nAA nQA TAA
Without
cache
/RJDULWKPLFg×XIIHUg0RGHOg3GDSWDWLRQ
7KURXJKSXWg0HDVXUHPHQWg3GDSWDWLRQ
4XDOLWg6ZLWFKLQJg9DULDQFHg>0ESVð@
pAy
TîpAy
7LPHg>6HFRQGV@
A QA pAA pQA nAA nQA TAA
With
cache
13. Our
conclusions!
• We
highlighted
some
issues
– Throughput-‐based
adaptation
logics
– Clients
competing for
bandwidth
• In
this
paper
– Buffer-‐based
adaptation
models
– Clients
metrics for
oscillation
detection
– Oscillation
compensation algorithm
– Increase
streaming
performance
– higher
throughput
&
less
quality
switches
• Important:
client-‐centric
approach
– Enables
scalability,
maintains
advantages of
DASH,
and
is
deployed!
• Future
work
– Large-‐scale
evaluations
July
2,
2015 IEEE
ICME
2015 13
http://www.dash-‐player.com/