Adaptive MPEG4 Video Streaming using Bandwidth Estimation Mario Gerla, Alex Balk, Medy Sanadidi {gerla, abalk, Dario Maggiorini

Slides:



Advertisements
Similar presentations
TCP Variants.
Advertisements

1 End to End Bandwidth Estimation in TCP to improve Wireless Link Utilization S. Mascolo, A.Grieco, G.Pau, M.Gerla, C.Casetti Presented by Abhijit Pandey.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Measurements of Congestion Responsiveness of Windows Streaming Media (WSM) Presented By:- Ashish Gupta.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
TCP in Wireless Ad Hoc Networks
Adaptive Video Streaming in Vertical Handoff: A Case Study Ling-Jyh Chen, Guang Yang, Tony Sun, M. Y. Sanadidi, Mario Gerla Computer Science Department,
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
CS215 TCP Westwood Control Model Development and Stability Analysis Hu, Kunzhong Dong, Haibo Mentor: Wang, Ren Professor:
RCS: A Rate Control Scheme for Real-Time Traffic in Networks with High B X Delay and High error rates J. Tang et al, Infocom 2001 Another streaming control.
Comparison between TCPWestwood and eXplicit Control Protocol (XCP) Jinsong Yang Shiva Navab CS218 Project - Fall 2003.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
1 Design study for multimedia transport protocol in heterogeneous networks Haitao Wu; Qian Zhang; Wenwu Zhu; Communications, ICC '03. IEEE International.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
TCP Westwood (with Faster Recovery) Claudio Casetti Mario Gerla Scott Seongwook Lee Saverio.
Data Communication and Networks
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
Streaming Video Gabriel Nell UC Berkeley. Outline Scalable MPEG-4 video – Layered coding method – Integrated transport-decoder buffer model RAP streaming.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP Congestion Control
CPSC 538A1 Dynamic Behavior of Slowly- Responsive Congestion Control Algorithms Deepak Bansal, Hari BalaKrishna, Sally Floyd and Scott Shenker Presented.
CS :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
TCP in Wireless Ad Hoc Networks TCP on Wireless Ad Hoc Networks TCP overview Ad hoc TCP and network layer: mobility, route failures and timeout.
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
Rate Adaptation Protocol for Real-time Streams Goal: develop an end-to-end TCP-friendly RAP for semi-reliable rate-based applications (e.g. playback of.
EE 122: Congestion Control and Avoidance Kevin Lai October 23, 2002.
1 Mao W07 Midterm Review EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007 Acknowledgement: Some.
TCP with Variance Control for Multihop IEEE Wireless Networks Jiwei Chen, Mario Gerla, Yeng-zhong Lee.
TCP Westwood: Efficient Transport for High-speed wired/wireless Networks 2009.
Lecture 9 – More TCP & Congestion Control
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Computer Networking Lecture 18 – More TCP & Congestion Control.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP Westwood: Efficient Transport for High-speed wired/wireless Networks 2008.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
Flow Control in Multimedia Communication Multimedia Systems and Standards S2 IF Telkom University.
Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)
TCP transfers over high latency/bandwidth networks & Grid DT Measurements session PFLDnet February 3- 4, 2003 CERN, Geneva, Switzerland Sylvain Ravot
Adaptive MPEG-4 Video Streaming with Bandwidth Estimation: Journal Version 指導老師:童曉儒 教授 報告人:張益瑞 /2/23.
Rate/Congestion Control for Multimedia Streaming
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Access Link Capacity Monitoring with TFRC Probe Ling-Jyh Chen, Tony Sun, Dan Xu, M. Y. Sanadidi, Mario Gerla Computer Science Department, University of.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
Approaches towards congestion control
Chapter 3 outline 3.1 transport-layer services
Introduction to Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Mario Gerla, Medy Sanadidi, Ren Wang and Massimo Valla
TCP Westwood(+) Protocol Implementation in ns-3
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
CS640: Introduction to Computer Networks
RAP: Rate Adaptation Protocol
TCP Congestion Control
Improving TCP Start-up over High Bandwidth Delay Paths
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Presentation transcript:

Adaptive MPEG4 Video Streaming using Bandwidth Estimation Mario Gerla, Alex Balk, Medy Sanadidi {gerla, abalk, Dario Maggiorini

Outline Problem Statement Current Streaming Research Directions Unique Feature of VTP: Bandwidth estimation Testbed Evaluation

Problem Background Internet multimedia streaming on the rise Most real-time video is still UDP (no end-to- end congestion control) UDP approach could potentially lead to congestion collapse Active research on congestion-controlled streaming protocols

Controlled Stream Approaches  RAP (Rate Adaptation Protocol) Mimics TCP (i.e., AIMD); multilayer video adaptation SR-RTP (Selective Retransmission-RTP) “Binomial” rate control; selectively retransmits only certain packets that carry “key” video data. SCTP (Stream Control Transmission Protocol) Mimics TCP; multistream; TFRC (TCP-Friendly Rate Control) Mimics TCP via equation; Limitations: AIMD algorithm leads to rate oscillations poor link utilization in random loss environments

VTP: Video Transport Protocol Key features: bandwidth estimation to adapt/reduce video stream MPEG specific adaptive quantization levels (while video frame rate is kept fixed to preserve perceived video quality). Inter-Protocol fairness with TCP.

Comments on MPEG-4 Intra-coded frames (I-frames) are encoded independently, can be considered reference frames. Predicted frames (P-frames) depend on preceding I or P-frames, contain predicted motion data and error information. Bi-directionally predicted frames (B-frames) depend on both previous and next frames. VTP takes advantage of the wide range of compression ratios available in MPEG-4 to select appropriate video quality for streaming.

Bandwidth Estimation Receiver estimates available bandwidth: unique feature of VTP. Bandwidth estimation technique (inspired to TCP Westwood): B i =(  )B i-1 +(1-  )(b i +b i-1 )/2 B i :bandwidth estimate b i :bandwidth sample (i.e., packet bits in packet/interpkt interval)  :tunable coefficient  Receiver sends back to source bandwidth estimates periodically (at least, each RTT)

Digression: TCP Westwood Congestion window control via Achieved Rate Estimate (RE) Sender estimates currently Achieved Rate RE by extracting/filtering rate samples from ACKs After packet loss (ie, 3 DUPACKs, or Timeout), RE estimate is used by sender to cut back cwnd as follows: cwnd = RE x RTTmin Note: cwnd = RE x RTT min is the min window required to achieve rate RE without causing congestion Additive Increase “Fair” Decrease (AIFD)

TCP Westwood: the control algorithm When three duplicate ACKs are detected: set cwin=RE*RTTmin (instead of cwin=cwin/2 as in Reno) and ssthresh=RE*RTTmin (instead of ssthresh =cwin/2) Go to congestion avoidance When a TIMEOUT expires: set ssthresh=RE*RTTmin (instead of ssthresh=cwnd/2 as in Reno) and cwin=1 Go to slow start Note: RTTmin = min round trip delay experienced by the connection

TCP W converges to Fair equilibrium zero backlog bottleneck overflow Fair rate share Connection 1 Window Connection 2 Window

VTP algorithm Multiple copies of the video stream with different quantization levels are pre-computed and stored in the server (in the future, on line adaptive quantization will be explored) On the sender side: If estimated bandwidth feedback from receiver is equal to (or larger than) sent rate, gradually increase sending rate by one packet per RTT (probing phase) When bandwidth estimate can support next quantization level, switch to higher quality stream and higher bitrate. If bandwidth estimate falls below current sending rate, switch to lower quantization level.

Rate and code adjustment DR = Decrease state IR = Increase state Q1, Q2, Q3: MPEG encoding states Example: suppose you are in Q1 If bandwidth estimate exceeds last value, move from Q1 to IR1. Check if bandwidth is sufficient to support Q2. If not, increase rate and return to Q1. Else, move to Q2.

VTP: Linux testbed VTP was implemented and evaluated on the Linux operating system. Dummvnet Link emulator

Software Architecture VTP uses UDP to send both video packets and controls; Stream control and adaptation are done exclusively at application level; RTP and RTCP are not required, but can be integrated in the future (RTCP can be used for feedback)

Performance measures Fairness Stability Adaptive compression (QP) Robustness to random errors/loss

Compression and smoothing Left diagram: bandwidth required by a segment of the movie “Tron” for different compression parameters ( QP = 31, max compression) Right diagram: prerecorded segments are stored for only 3 QP values. The traffic is smoothened to reduce peak rate (from 4.2 Mbps to 1.6 Mbps

Dynamic rate & QP

Fairness (1 VTP + N TCP Reno’s) “Atlantis” segment encoded with the FFMPEG codec over a 3 Mbps, 10 ms RTT link. Normalized (wrt fair-share) throughput is shown; ideal fairness occurs when both protocols achieve “1”(note: single VTP requires 125Kbps < B <.45 Mbps) “TRON” segment encoded with the DivX codec over a 5 Mbps, 10 ms RTT link. Note, for Tron, bandwidth must be at least.5Mbps (at lowest quality) and at most 1.3 Mbps VTP uses its fair share of bandwidth or less in most cases.

VTP Rate Stability (1 video +11 TCP Reno’s) Resulting frame rate of 1 monitored flow, either VTP or Non Adaptive Streaming, competing with 11 TCP connections. VTP frame rate stabilizes with time, as VTP discovers the available bandwidth. Non Adaptive Stream oscillates throughout the duration of the connection.

Adaptive Compression “QP”: quantization parameters (lower QPs imply more compression and lower video quality) As the number of connections increases, VTP transmits more compressed video streams using less bandwidth.

VTP & TCP Reno: random loss channel VTP and TCP sharing a random loss channel

VTP vs TFRC in random loss VTP vs TFRC behavior in random loss – same video trace for both

Conclusions VTP streams yield more stable frame rates than non-adaptive streaming. VTP fair to TCP VTP robust to random loss On going work: Adaptive adjustment of receiver feedback reports Investigation of other bandwidth estimation filters (e.g., AB probe, CAP-probe, etc) Object oriented adaptive encoding