Adaptive MPEG-4 Video Streaming with Bandwidth Estimation: Journal Version 指導老師:童曉儒 報告人:張益瑞 2015/4/9 教授 1 Outline • Introduction • Related Work • MPEG-4 Background • The Video Transport Protocol • VTP Implementation • Experimental Evaluation • Conclusion 2015/4/9 2 Introduction • Video streams are usually delivered via UDP with no transport layer congestion control. • Video streams are loss tolerant and delay sensitive. • TCP involves the repeated halving and growth of its congestion window, following Additive Increase/Multiplicative Decrease (AIMD) algorithm. 2015/4/9 3 Introduction 2015/4/9 4 Introduction • We design and implement a protocol that attempt to maximize the quality of real-time MPEG-4 video streams while simultaneously providing basic end-to-end congestion control. • Video Transport Protocol (VTP) delivers consistent quality video in moderately congested networks and fairly shares bandwidth with TCP. 2015/4/9 5 Introduction • Primary goal of adapting video stream to the characteristics of the network path between sender and receiver.(VTP sends packets using UDP, adding congestion control at the application layer.) • Secondary goal of VTP is the minimal use of network and computer resources.(bandwidth and memory) 2015/4/9 6 Related Work • Service model for multimedia streaming fall into two categories: 1. Modifications or enhancements to AIMD congestion control to better accommodate streaming applications. 2. Model-based flow control based primarily on TCPFriendly Rate Control (TFRC) 2015/4/9 7 Related Work • Rate Adaptation Protocol (RAP) :rate based protocol, receiver feedback , no fairness with TCP. • Stream Control Transmission Protocol (SCTP) :multi-streaming, congestion control in SCTP is identical to TCP. • TCP-Friendly Rate Control (TFRC) : maintain the sending rate at the level of a TCP flow under the same conditions. 2015/4/9 8 Related Work • TCP’s behaviors of poor link utilization in high-loss environments and unfairness. • VTP aims to be adaptive and flexible by making minimal assumptions about the network and using network feedback as a indicator, not as rigorous set of input parameters. 2015/4/9 9 MPEG-4 Background • High bitrate scalability and compression efficiency • Spatial and temporal redundancy in individual frames • Object-based encoding ▫ Video objects (VOs) ▫ Video object planes (VOPs) ▫ Group of Video Object Planes (GOV) 2015/4/9 10 MPEG-4 Background • (I-VOPs) • (P-VOPs) • (B-VOPs) 2015/4/9 11 MPEG-4 Background 2015/4/9 12 MPEG-4 Background • Macroblock • Slice • Quantization Parameters(QPs): 量化參數較高就 是較高的壓縮率 與low quality。 2015/4/9 13 MPEG-4 Background/ VTP policy 2015/4/9 14 The Video Transport Protocol • Sender and Receiver Interaction • Bandwidth Estimation and Rate Adjustment • Rate Based Congestion Control 2015/4/9 15 The Video Transport Protocol(concept) • Communication between sender and receiver is a “closed loop,” the receiver sends acknowledgments to the sender at regular intervals. • The bandwidth of the forward path is estimated and used by the sender to determine the sending rate. • VTP is rate based. There is no congestion window or slow start phase. 2015/4/9 16 Sender and Receiver Interaction RTT measurement & bandwidth computation 2015/4/9 RTT measurement & bandwidth computation 17 Bandwidth Estimation and Rate Adjustment b: rate sample d: data bytes t: time B: bandwidth estimate α : weighting factor 2015/4/9 18 Bandwidth Estimation and Rate Adjustment (Finite State Machine, FSM) Q: video encoding levels IR: increase rate states DR: decrease rate states 2015/4/9 19 Rate Based Congestion Control • VTP is to adapt the outgoing video stream so that, in times of network congestion, less video data is sent into the network and consequently fewer packets are lost and fewer frames are discarded. • VTP performs a type of congestion avoidance: it increases its rate by a small amount on every estimated RTT. 2015/4/9 20 VTP Implementation • Software Architecture • Transmission Schedules for Variable Bitrate Video • Minimizing Client Buffer Requirements 2015/4/9 21 Software Architecture 2015/4/9 22 Software Architecture 2015/4/9 23 Transmission Schedules for Variable Bitrate Video V(t): the cumulative amount of bytes consumed by the client from the start of the streaming session to time t C(t): CBR schedule ν(τ): the video is encoded at a variable rate U(t): Utilization 2015/4/9 24 Transmission Schedules for Variable Bitrate Video 2015/4/9 25 Minimizing Client Buffer Requirements Buffer 沒 有使用過 多或不足 的情形 2015/4/9 26 Minimizing Client Buffer Requirements Quantization parameters(QPs): 量化參數高就是較高的壓縮率與low quality。(DivX) 2015/4/9 27 Minimizing Client Buffer Requirements Quantization parameters(QPs): 量化參數高就是較高的壓縮率與low quality。(FFMpeg) FFmpeg are smaller and use less bandwidth than DivX for the same QPs 2015/4/9 28 Experimental Evaluation • • • • • Basic Protocol Behavior Fairness with TCP Random Link Errors Comparison with TFRC Video Quality 2015/4/9 29 Basic Protocol Behavior • One of the main goals of VTP is to fairly share network resources with other traffic. • VTP attempts to achieve fairness with TCP by reducing its sending rate whenever the bandwidth estimate indicates that the current rate cannot be supported. 2015/4/9 30 Basic Protocol Behavior 理想的sending rate:依估計的bandwidth調整sending rate。 2015/4/9 31 Fairness with TCP 2015/4/9 32 Fairness with TCP 2015/4/9 33 Random Link Errors 從random error的角度來看,VTP不因TCP發生大量error而快速搶占 TCP的頻寬,只是平緩的增加traffic。 2015/4/9 34 Comparison with TFRC s: packet size R: RTT p: the steady state loss event rate tRTO: the value of the TCP retransmit timeout T: transmit rate 2015/4/9 35 Comparison with TFRC 2015/4/9 36 Video Quality Quantization parameters(QPs): 量化參數高就是較高的壓縮率與low quality。 2015/4/9 37 Video Quality 從Frame rate的角度來看,使用VTP可達到較穩定的Frame rate。 2015/4/9 38 Video Quality 從Frame rate的角度來看,使用VTP可達到較穩定的Frame rate。 2015/4/9 39 Video Quality QPs 減低 3 ~ 5 可維持略高的影片品質。 2015/4/9 40 Conclusion • VTP is the use of bandwidth estimation to adapt the sending rate and the video encoding in response to changes in network conditions • We found that VTP fairness toward TCP is vulnerable if the lowest video bitrate is higher than the average link fair share available to VTP. 2015/4/9 41