Rate Adaptations in Network Communication

undefined
Rate Adaptations
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
You are Here
Network
Encoder
Sender
Middlebox
Receiver
Decoder
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Sender’s Algorithm
open UDP socket
foreach video frame
    chop into packets
    add RTP header
    send to network
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Sender’s Algorithm
open UDP socket
foreach video frame
    chop into packets
    add RTP header
    send to network
    
wait for 1/fps seconds
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Sender’s Algorithm
open UDP socket
foreach video frame
    chop into packets
    add RTP header
    send to network
    
wait for 1/fps seconds
Send frames at
equal time
distance.
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Sender’s Algorithm
open UDP socket
foreach video frame
    chop into packets
    
foreach packet
        add RTP header
        send to network
        
wait for size/bps seconds
Send data at
constant
bandwidth.
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Rules
Transmission rate should match
encoding rate
Transmission should not be too bursty
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Two Approaches
1.
Just send at a fix rate
or “I hope the network can handle it”
approach
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Effects on TCP: Simulation
From Sisalem, Emanuel and Schulzrinne paper on
“Direct Adjustment Algorithm.”
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Effects on TCP
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
DAA Parameters
Adaptive RTP flows
Additive increase/multiplicative decrease
50 kb and factor 0.875
RTCP: min 5 sec inter-report time
Loss thresholds: 5% and 10%
TCP
Immediate loss notification
Transmission window is halved
undefined
Demo
Effects of UDP on TCP without
congestion control
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Two Approaches
1.
Just send at a fixed rate
or “I hope the network can handle it”
approach
2.
Adapt transmission/encoding rate
to network condition
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
How to Adapt?
if
 network condition is bad
 
reduce rate
else if 
network condition is so-so
   do nothing
else if 
network condition is good
 
increase rate
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
How to ..
Know “network condition is bad”?
Increase/decrease rate?
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
if
 network condition is bad
 
else if 
network condition is so-so
   do nothing
else if 
network condition is good
Adapting Output Rate
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
if
 network condition is bad
 
else if 
network condition is so-so
   do nothing
else if 
network condition is good
Adapting Output Rate
Multiplicative
decrease
Additive
increase
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Question:
What should 
 and 
 be?
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Observation 1
Should never change your rate more
than an equivalent TCP stream.
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Observation 2
 
 and 
 should depend on network
conditions and current rate.
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Goal: Fair Share of Bottleneck
let 
 
r
 
: current rate
  
b
 
: bottleneck bandwidth
 
  
S
 
: current share
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
S vs 
1
S
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Value of 
(Assuming one receiver)
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Limit of 
M
 
: packet size

: round trip time
T 
 
: period between evaluation of 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Limit of 
M 
 
: packet size

: round trip time
T 
 
: period between evaluation of 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Loss rate vs 
loss rate
1
1
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Value of 
where
      is the loss rate
   k is a constant
(Assuming one receiver)
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
What is Needed?
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Estimating b : Packet Pair
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Estimating b : Packet Pair
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Estimating b : Packet Pair
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Evaluation
undefined
More TCP-Friendly Rate
Control
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
TCP-Equation
Window size behavior in TCP/IP with constant loss probability
 
T. Ott, J. Kemperman, and M. Mathis
June 1997, HPCS 1997
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
TCP-Equation
Equation-Based Congestion Control for Unicast Applications
 
Sally Floyd, Mark Handley, Jitendra Padhye, and Joerg Widmer.
August 2000. SIGCOMM 2000
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Another Transport Protocol
Datagram Congestion Control Protocol
(DCCP)
Implements congestion control but not
reliability
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Rules
Transmission rate should match
encoding rate
Transmission should not be too bursty
undefined
Rate Control
Given a rate, how to encode the
video with the given rate?
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Reduce Frame Rate
Live Video
Stored Video
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Reduce Frame Resolution
Live Video
Stored Video
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Increase Quantization
Live Video
Stored Video
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Drop AC components
Live Video
Stored Video
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Trouble with Stored Video
Reducing rate requires partial decoding
and re-encoding
Solution: Layered Video
undefined
Layered Video
or “Scalable Video”
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Layered Video
Layer 1
 
Layer 2
 
Layer 3
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Layering Scheme
Temporal (Frame Rate) Layering
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Layering Scheme
Spatial (Resolution) Layering
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Layering Scheme
DCT Layering; SNR (Quality) Layering
30
8
-6
-1
2
0
0
0
1
0
0
0
0
0
0
0
30
8
-6
-1
2
1
30
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Layering Scheme
Fine Granularity Scalability (FGS): e.g.,
MPEG-4
1
 
0
 
0
 
0
 
0
 
1
 
0
 
0
1
 
0
 
0
 
1
 
0
 
1
 
0
 
1
1
 
1
 
1
 
0
 
0
 
0
 
1
 
0
1
 
1
 
0
 
0
 
0
 
0
 
0
 
0
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Layered Video
SVC
: Scalable Video Coding
Base-layer plus enhancement layers
Each received layer improves the quality
Layer 
n+1
 depends on layer 
n
MDC
: Multiple Description Coding
Layers are independent
Each received layer improves the quality
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Layered Video
BUT: Layered video codecs are less
bandwidth-efficient than single-layer
codecs.
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Rate Adaptation
To increase rate, send more layers
To decrease rate, drop some layers
undefined
MS Windows Streaming
Media
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Intelligent Streaming
Multiple-Bit-Rate Encoding
Intelligent Bandwidth Control
bit rate selection
thinning
Intelligent Image Processing
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Intelligent Streaming
How exactly does it work?
Sorry, it’s proprietary
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Is WSM TCP friendly?
Measurements of the Congestion
Responsiveness of Windows
Streaming Media
J. Nichols et. al., NOSSDAV 2004
All figures taken from the original
NOSSDAV presentation
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
 
 
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
340kbps clip, 725kbps bottleneck
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Transmission is Bursty
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
340kbps clip, 725kbps bottleneck
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
548kbps Clip - 725kbps Bottleneck
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
1128kbps Clip - 725kbps Bottleneck
 
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
725kbps Bottleneck
Buffering
Playout
 
Single Encoded Bit Rate
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
725kbps Bottleneck
Multiple Encoded Bit Rate
 
Buffering
Playout
NUS.SOC.CS5248-2012
Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
 
Conclusion
Two phases: buffering + playout
Not always TCP-friendly
Slide Note
Embed
Share

This presentation delves into rate adaptations in network communication, covering topics such as sender algorithms, transmission rules, and effects on TCP. The content includes explanations of sender behaviors and the impact on network performance. Strategies for optimizing transmission rates are discussed with insights from Roger Zimmermann and Ooi Wei Tsang's slides.

  • Network Communication
  • Rate Adaptations
  • Transmission Rules
  • TCP Effects
  • Sender Algorithms

Uploaded on Feb 17, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Rate Adaptations NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  2. You are Here Encoder Decoder Middlebox Receiver Sender Network NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  3. Senders Algorithm open UDP socket foreach video frame chop into packets add RTP header send to network NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  4. Senders Algorithm open UDP socket foreach video frame chop into packets add RTP header send to network wait for 1/fps seconds NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  5. Senders Algorithm open UDP socket foreach video frame chop into packets add RTP header send to network wait for 1/fps seconds Send frames at equal time distance. NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  6. Senders Algorithm open UDP socket foreach video frame chop into packets foreach packet add RTP header send to network wait for size/bps seconds Send data at constant bandwidth. NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  7. Rules Transmission rate should match encoding rate Transmission should not be too bursty NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  8. Two Approaches 1. Just send at a fix rate or I hope the network can handle it approach NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  9. Effects on TCP: Simulation From Sisalem, Emanuel and Schulzrinne paper on Direct Adjustment Algorithm. NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  10. Effects on TCP NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  11. DAA Parameters Adaptive RTP flows Additive increase/multiplicative decrease 50 kb and factor 0.875 RTCP: min 5 sec inter-report time Loss thresholds: 5% and 10% TCP Immediate loss notification Transmission window is halved NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  12. Two Approaches 1. Just send at a fixed rate or I hope the network can handle it approach 2. Adapt transmission/encoding rate to network condition NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  13. How to Adapt? if network condition is bad reduce rate else if network condition is so-so do nothing else if network condition is good increase rate NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  14. How to .. Know network condition is bad ? Increase/decrease rate? NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  15. Adapting Output Rate if network condition is bad else if network condition is so-so do nothing else if network condition is good NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  16. Adapting Output Rate Multiplicative decrease if network condition is bad else if network condition is so-so do nothing else if network condition is good Additive increase NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  17. Question: What should and be? NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  18. Observation 1 Should never change your rate more than an equivalent TCP stream. NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  19. Observation 2 and should depend on network conditions and current rate. NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  20. Goal: Fair Share of Bottleneck let r b S : current rate : bottleneck bandwidth : current share NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  21. S vs S 1 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  22. Value of (Assuming one receiver) NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  23. Limit of M : packet size : round trip time T : period between evaluation of NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  24. Loss rate vs 1 1 loss rate NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  25. Value of where is the loss rate k is a constant (Assuming one receiver) NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  26. NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  27. What is Needed? NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  28. Estimating b : Packet Pair NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  29. Estimating b : Packet Pair NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  30. Estimating b : Packet Pair NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  31. Evaluation NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  32. More TCP-Friendly Rate Control NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  33. TCP-Equation Window size behavior in TCP/IP with constant loss probability T. Ott, J. Kemperman, and M. Mathis June 1997, HPCS 1997 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  34. TCP-Equation Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye, and Joerg Widmer. August 2000. SIGCOMM 2000 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  35. Another Transport Protocol Datagram Congestion Control Protocol (DCCP) Implements congestion control but not reliability NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  36. Rules Transmission rate should match encoding rate Transmission should not be too bursty NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  37. Rate Control Given a rate, how to encode the video with the given rate? NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  38. Reduce Frame Rate Live Video Stored Video NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  39. Reduce Frame Resolution Live Video Stored Video NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  40. Increase Quantization Live Video Stored Video NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  41. Drop AC components Live Video Stored Video NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  42. Trouble with Stored Video Reducing rate requires partial decoding and re-encoding Solution: Layered Video NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  43. Layered Video or Scalable Video NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  44. Layered Video Layer 1 Layer 2 Layer 3 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  45. Layering Scheme Temporal (Frame Rate) Layering NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  46. Layering Scheme Spatial (Resolution) Layering NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  47. Layering Scheme DCT Layering; SNR (Quality) Layering 30 8 2 30 8 2 0 30 -6 -1 -6 -1 0 0 1 1 0 0 0 0 0 0 0 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  48. Layering Scheme Fine Granularity Scalability (FGS): e.g., MPEG-4 1 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  49. Layered Video SVC: Scalable Video Coding Base-layer plus enhancement layers Each received layer improves the quality Layer n+1 depends on layer n MDC: Multiple Description Coding Layers are independent Each received layer improves the quality NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

  50. Layered Video BUT: Layered video codecs are less bandwidth-efficient than single-layer codecs. NUS.SOC.CS5248-2012 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#