8/9/2019 50-QoS Video Streaming
1/14
1
Quality of Service ofVideo Streaming
Mário Serafim NunesInstituto Superior Técnico
2
QoS in Video Streaming
1 Theoretical conceptsQoS in Video Streaming
Heterogeneity in Video Streaming
Taxonomy of Congestion Control in Video Streaming
QoS mechanisms for Video Streaming
QoS metrics for Video streaming
2 R&D resultsOLYMPIC project architecture
Video QoS techniques developed in the project.
Evaluation of developed solutions.
8/9/2019 50-QoS Video Streaming
2/14
2
3
QoS inVideo Streaming
Bitrate:There is a need of a minimum bitrate toachieve an acceptable video quality
Delay:Real-time Video streaming requires boundeddelay and delay variation.
Losses:
Packet Loss Ratio ( PLR) should be kept belowa strict threshold to get an acceptable visualquality.
4
Heterogeneity
in Multicast Video Streaming
Network Heterogeneity
Networks have different resources (bitrate,buffer capacity, management policies).
Receiver HeterogeneityReceivers have different visual qualityrequirements (screen dimensions /spatialresolution, colours) and different processingcapabilities.
Consequently, different users could experience different
video quality reception.
8/9/2019 50-QoS Video Streaming
3/14
3
5
Network perspective: Network/Transport layers
Parameters: Packet delay, PLR (Packet Loss Ratio)
User perspective: Application (perceived quality)
Parameters: Video frame/VOP delay;PSNR (Peak Signal-to-Noise Ratio)
QoS Metrics for Video streaming
10
25520 logPSNR
MSE
= ⋅
( ) ( )2
2
, , f i j F i j MSE
N
− =
∑
6
Taxonomy of Congestion Control in
Multicast Video Streaming
Network based (N)
IntServ
DiffServ
Terminal based (A, T)
Transport layer perspective (T, T/A)
Rate control• Window-based control (TCP, DCCP-
CCID2)
• Rate-based control
- Source-based rate control (RTCP,DCCP-CCID3)
- Receiver-based rate control
- Hybrid rate control
Rate shaping
• Video frame Selective discard
• Dynamic rate shaping
Video Compression perspectiv (A)
Rate shaping
Rate Adaptive encoding
Application(A)
Transport
(T)
Selective Discard of
Video frames
Compression perspective
RTCP, UDP,
TCP,
DCCP
IntServ,
DiffServNetwork
(N)
8/9/2019 50-QoS Video Streaming
4/14
4
7
2 Research results
OLYMPIC project architecture
Core
Network
Access
Network
Media Encoder/
Media Server
PeripheralSAS
Clients
Core
SAS Unicast/
Multicast
Unicast/Multicast
Transmission of multimedia sport events (Audio/
Video) over IP in large scale, with large
heterogeneity of access network and terminals
8
A) Selective Discard of Packets based on
DiffServ AF PHB (L3)
B) Selective Discard of Video Frames/VOP
based on RTCP reports (L4)
C) Selective Discard of Video Frames/VOP
based on TCP (L4)
D) Selective Discard of Video Frames/VOP
based on DCCP reports (L4)
Video Streaming QoS Techniques
developed in OLYMPIC project
8/9/2019 50-QoS Video Streaming
5/14
5
9
Video Streaming QoS Techniques
developed
A) Selective discard of Video Frames based on DiffServ
B) Selective discard of Video Frames based on RTCP
C) Selective discard of Video Frames based on TCP
D) Selective discard of Video Frames based on DCCP
A B C D
Discard layer Network(IP)
Application Application Transport
Transport
ProtocolUDP UDP TCP DCCP
Discard
pointRouter DS Server Server Server
Discard
based on
DSCP/AF RTCP Sender
buffer
Sender
buffer
10
Solution A): Selective Discard ofvideo frames based in DiffServ
Application
layer
Transport
layer
Packet Marking QoS(MPEG4 DSCP)
UDP
Selective Discard of packets
(IP DiffServ)
Network
layer
8/9/2019 50-QoS Video Streaming
6/14
6
11
Architecture of solution A
Selective Discard based on DiffServ
Core
Network
Access
Network
Encoder/
Media Server
SAS
(QoS Marker)
Clientes
drop B
drop B+P
QoS
Marker
no drop
Unicast/
Multicast
Unicast/
Multicast
Tipo de Trama/
VOP MPEG4
Classe AF
I AF11 (low priority of discard)
P AF12 (medium priority of discard)
B AF13 (high priority of discard)
12
PSNR – Peak Signal-to-Noise Ratio
AF PHB – Assured Forward Per Hop Behaviour
PSNR Results of solution A
(Selective Discard based on DiffServ)
0,0
5,0
10,0
15,0
20,0
25,0
30,0
0,0 5,0 10,0 15,0 20,0
PLR [%]
P S N R
[ d
B ]
Bes t effort Diffs erv AF
8/9/2019 50-QoS Video Streaming
7/14
7
13
Selective discard of Video frames/ MPEG4 VOP based
on PHB AF DiffServ presents good performance, it is
scalable and simple;
Mapping of MPEG4 video frames (I, B , P) in AF is not
an optimal solution, due to the dependency chain of
different MPEG4 frames (P depends on I; B depends
on I and P);
DiffServ only used in managed IP networks.
Conclusions of Solution A
(Selective Discard based on DiffServ)
14
Solution B): Selective Discardof video frames based in RTCP
Application
layer
Transport
layer
MPEG4 QoS Classifier(MPEG4 QOS-type)
Selective Dropping
RTCP RR
UDP
IP(Best Effort)
Network
layer
Buffer
Congestion detected by reception of RTCP RR
8/9/2019 50-QoS Video Streaming
8/14
8
15
Block Diagram of solution B(Selective Discard based on RTCP)
Transport Layer
Application layer
Selective Discard Algorithm
Incoming Stream
RTCP feedback
from clients
Sent frames
Outgoing Stream
Discarded
frames
Index i GOV
→ I2 Pn Pn-1 … Pi Pi-1 … P3 P2 P1 I1 →
Discarded VOPs Sent VOPs first
16
PSNR Results of solution B(Selective Discard based on RTCP)
0,0
5,0
10,0
15,0
20,0
25,0
30,0
0,0 5,0 10,0 15,0 20,0 25,0
PLR [%]
P S N R [
d B ]
Random discard Selective discard
8/9/2019 50-QoS Video Streaming
9/14
9
17
Random Discard vs Selective
discard with congestion of 35%
Random discard Selective discard
18
Selective Discard based on RTCP presents high PSNR
gain in comparison with random discard
Allow dynamic adjust of discard level, optimizing the
available bandwidth;The delay of RTCP loss reports (typical 5s) can be a
problem in case the network presents frequent variations of
congestion level.
Conclusions of solution B(Selective Discard based on RTCP)
8/9/2019 50-QoS Video Streaming
10/14
10
19
Solution C: Selective Discard of videoframes based in TCP
Application
layer
Transport
layer
MPEG4 QoS Classifier(MPEG4 QOS-type)
Selective Dropping
TCP
IP
(Best Effort)
Network
layer
Buffer
Buffer
Congestion detected by the filling level of TCP Buffer
20
Block Diagram of solution C(Selective Discard based on TCP)
IncomingStream
Application layer
Selective DiscardAlgorithm
+
Application Buffer
Frames sent
OutgoingStream
Transport Layer
Frames discarded
TCPbuffer
→ I9 Pn … P3 P2 P1 I8 Pn … P P2 P1 I Pn … P3 P2 P1 I →
Discard
Application Buffer at sender
8/9/2019 50-QoS Video Streaming
11/14
11
21
Movie average bitrate = 256 Kbps
TCP Buffer = 64 Kbyte -> 2 s
PSNR Results of solution C
(Selective Discard based on TCP)
0,0
5,0
10,0
15,0
20,0
25,0
30,0
0,0 5,0 10,0 15,0 20,0 25,0
PLR [%]
P S N R
[ d B ]
Ra nd om dis ca rd S el. Di sc ard TCP
22
Selective Discard based on TCP presents
significant PSNR gains in comparison with
random discard;
This solution can be useful when reliability is a
requirement (p. ex. Transcoder)
As this solution is TCP based, it can have high
delay in case of congestion.
The bitrate could increase due to TCP packet
retransmission.
Conclusions of Solution C(Selective Discard based on TCP)
8/9/2019 50-QoS Video Streaming
12/14
12
23
Theoretical model (simulated) Model Implemented
Solution D): Selective Discard of
video frames based in DCCP
Application
layer
Transport
layer
MPEG4 QoS Classifier
(MPEG4 QoS-type)
Selective Dropping
DCCP
IP
(Best Effort)
Network
layer
Buffer
MPEG4 QoS Classifier
(MPEG4 QoS-type)
Selective Dropping
DCCP
IP
(Best Effort)
Buffer
UDP
DCCP: single buffer
24
Selective Discard
Block based
Frame/VOP based
Algorithms activated by threshold:
Number of packets in DCCP queue
Time of existence of packet in DCCP queue
Algorithms developed for Solution D:
(Selective Discard based on DCCP)
→ I
9
P
n
… P
2
P
1
I
8
P
n
… P
2
P
1
I
7
P
n
… P
i
+
1
P
i
… P
2
P
1
I
6
→ DCCP
buffer
Discard
8/9/2019 50-QoS Video Streaming
13/14
13
25
PSNR Results for solution D
(Selective Discard based on DCCP)
242526272829303132333435363738394041
0 5 10 15 20 25 30 35 40
Congestion Rate [%]
P S N R [
d B ]
DCCP, Queue Size=30pkts
DCCP+Block Disc ard, Lev el Threshold=30pkts
DCCP+Block Disc ard, Delay Threshold=1s
DCCP+VOP Discar d, Lev el Thres hold=30pkts
DCCP+VOP Discar d, Delay Threshold=1s
1314151617181920212223242526
0 5 10 15 20 25 30 35 40
Congestion Rate [%]
P S N R [
d B ]
DCCP, Queue Size=30pkts
DCCP+Block Discard Level Threshold=30pkts
DCCP+Block Discard, Delay Thres hold=1s
DCCP+VOP Discar d, Lev el Thres hold=30pkts
DCCP+VOP Discard, Delay Threshold=1s
StefanAkyio
26
Results of Delay in Solution D
(Selective discard based on DCCP)
StefanAkyio
0
0.2
0.40.6
0.8
1
1.2
1.4
1.6
1.8
0 5 10 15 20 25 30 35 40
Congestion Rate [%]
A v e r a g e V O P
D e l a y [ s ]
DCCP, Queue Size=30pkts
DCCP+Block Discard, Level Thres hold=30pkts
DCCP+Block Discard, Delay Threshold=1s
DCCP+VOP Discar d, Lev el Threshold=30pkts
DCCP+VOP Discar d, Delay Threshold=1s
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 5 10 15 20 25 30 35 40
Congestion Rate [%]
A v e r a g
e V O P
D e l a y [ s ]
DCCP, Queue Size=30pkts
DCCP+Block Disc ard Level Threshold=30pkts
DCCP+Block Discard, Delay Thres hold=1s
DCCP+VOP Disc ard, Level Threshold=30pkts
DCCP+VOP Discard, Delay Threshold=1s
8/9/2019 50-QoS Video Streaming
14/14
14
27
Selective Discard based on DCCP presents high
PSNR gain in comparison with random discard;
This solution presents the lowest delay, due to the
single buffer at sender (at transport layer)
Presents higher discard flexibility since it allow
frame discard at transport layer.DCCP not deployed yet at large scale
Conclusions of Solution D
(Selective Discard based on DCCP)
28
A) Video Frame Selective Discard based on DiffServ
Simple, satisfactory results, but requires DiffServ.
B) Video Frame Selective Discard based on RTCP
Good results, problems with delay and report periodicity.
C) Video Frame Selective Discard based on TCP
Good results, works better with big buffers, but presents high end-to-end delay.
D) Video Frame Selective Discard based on DCCP
Solution that present best results due to optimization allowed byDCCP (best PSNR, lowest delay), but DCCP is not widely deployed.
Comparison of the different solutions
of Video Streaming QoS