1 / 35

Adaptive Video Streaming Over Internet Using Dynamic Video Transcoding

Adaptive Video Streaming Over Internet Using Dynamic Video Transcoding. By Lam Ling Shun, Felix. Content. Background System Model Real-time Heuristic Rate Control Algorithm Trace-driven Simulation Results Conclusions and Future Research. Background.

narcisse
Download Presentation

Adaptive Video Streaming Over Internet Using Dynamic Video Transcoding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adaptive Video Streaming Over Internet Using Dynamic Video Transcoding By Lam Ling Shun, Felix

  2. Content • Background • System Model • Real-time Heuristic Rate Control Algorithm • Trace-driven Simulation Results • Conclusions and Future Research

  3. Background • Problem of no global QoS to Video streaming • UDP – Packet losses • TCP – Packet Delay Video Quality Degradation Bandwidth Internet

  4. Background • Solution 1: TCP-friendly streaming control • Reduce network congestion • Smoother Transmission Rate • Controlled and predictable delay • Examples: • LIMD/H by Kim, Lu and Bharghavan [1] • LIMD with packet loss differentiation • SCP (Streaming Control Protocol) by Cen, Pu and Walpole [2] • Combine rate-based and window-based flow control

  5. Background • Solution 2: Video Rate Adaptation • Adapt the video content to available network bandwidth • Examples: • Jacobs and Eleftheriadis’s algorithm [3] • Maintain Server buffer occupancy • Cuetos and Ross’s algorithm [4] • Maintain Client buffer occupancy • Works well on TCP and other TCP-friendly streaming control [4]

  6. System Model TCP

  7. System Model – Server Side • Transcoder • MPEG-1 Transcoder bmax bmax Transcoded Video bit rate Video bit rate bmin Transcoder Original Video Transcoded Video

  8. System Model –Server Side • Assumptions on Transcoder • NEGLIGIBLE transcoding time • CBR-encoded video Same bmax along the video • Constant bmin along the video • Note: In practice, bmin varies along the video bmax Transcoded Video bit rate bmin

  9. System Model – Server Side • Rate Control TCP Throughput C(t) Video bit rate b(t) Client Buffer Occupancy B(t) Rate Control

  10. System Model – Server Side • Rate Control (Cont’) • Goal • Minimize probability of client buffer underflow • Maximize average transcoded video bit rate • Principle • Maintain a certain level of client buffer occupancy (in terms of seconds worth of video data)

  11. System Model – Server Side • Rate Control (Cont’) • Slot-based Rate Control • The video bit rate is determined for each video segment with playback duration M. • Choice of M • Small  More adaptive to bandwidth fluctuation. • Limited by the resolution of the Transcoder. • Affect the complexity of the system. bmax b1 b4 Transcoded Video bit rate b3 M M b2 M bmin M Video time

  12. System Model – Client Side • Initial Prefetch • Initially, the client prefetches up to BTseconds’ worth of video data with bit rate bmax before decoding. BT bmax Client Buffer Occupancy Video bit rate T0 (Prefetch delay) BT Transmission Time Video time

  13. Real-time Heuristic Rate Control Algorithm • Immediately after a slot has been sent, the video bit rate for the next slot is calculated. • Estimates of the TCP throughput and client buffer occupancy are used in the calculation. • Reasons for estimating client buffer occupancy at the server: • Reduce overhead of client feedback • Compatibility with existing video clients, eg. MediaPlayer.

  14. Real-time Heuristic Rate Control Algorithm • Estimation of Customer Buffer Occupancy (Bk ) • Case 1: No client buffer underflow has occurred kM Bk Cumulative Data Transmitted Tk-T0 Cumulative Data Consumed B(t) Cumulative Video Data (seconds) BT 0 t T0 Tk Time when the k th slot has been sent Transmission time Bk = Bk’=kM – (Tk-T0 )

  15. Real-time Heuristic Rate Control Algorithm • Estimation of Customer Buffer Occupancy (Bk ) • Case 2: Client Buffer Underflow has occurred kM Bk uM+Tk-Tu The previous client buffer underflow encountered uM Cumulative Video Data (seconds) Client buffer underflow found at the time the u th slot has been sent Tu Tk Transmission time Bk = Bk’=(k-u)M– (Tk-Tu )

  16. Real-time Heuristic Rate Control Algorithm • Estimation of average TCP throughput for sending the k+1 th slot (Dk+1’) Ci-W+1 Ci Dk+1’=MIN(Ci , Cavg_W) Cavg_W … TCP throughput Ci-W+2 i-W+1 i-W+2 i-1 i Tk i+1 Transmission time

  17. Real-time Heuristic Rate Control Algorithm

  18. Real-time Heuristic Rate Control Algorithm • Compute bk+1: • Case 1: Bk’ <= BT • Target: Bk+1=BT • BT = Bk’ +M - bk+1M /Dk+1’ bk+1=[1- (BT- Bk’) /M ] Dk+1’ BT Bk’ bk+1M /Dk+1’ M

  19. Real-time Heuristic Rate Control Algorithm • Compute bk+1: • Case 2: Bk’ > BT • Target: Bk+1 =aBT+(1-a) Bk’ , 0<=a<=1 • a is used to trade offbetween average video bit rate andclient buffer underflow ratio Bk’ BT bk+1=[1- a(BT- Bk’) /M ] Dk+1’ bk+1M /Dk+1’ M aBT+(1-a) Bk’

  20. Real-time Heuristic Rate Control Algorithm • Heuristic Algorithm For k = T0/M to n -1: Step 1: Compute Bk’and Dk’ Step 2: Compute the value of bk+1: If Bk’<= BT bk+1 = [1-(BT - Bk’)/M] Dk+1’ else bk+1 = [1-a(BT - Bk’)/M] Dk+1’ Step 3: bk+1 =MIN(MAX(bk+1 , bmin ), bmax)

  21. Real-time Heuristic Rate Control Algorithm • Problem of overestimating Dk+1 • Dk+1’ >> Dk+1 BT Bk’ Client buffer underflow!! bk+1M /Dk+1’ bk+1M /Dk+1 M

  22. Real-time Heuristic Rate Control Algorithm • Transmission Deadline Strategy (TDS) • The transmission Deadline (Xk+1) = The time at which the transmission of the k+1 th slot is expected to end= Tk+ bk+1M /Dk+1’ • Any unsent data at the serverbuffer would be discarded at Xk+1 , a new slot would be formed BT Bk’ bk+1M /Dk+1’ bk+1M ’/Dk+1 Probability of client buffer underflow reduced M ’

  23. Trace-driven Simulation Results • Source of traces • Throughput trace of a persistent TCP connection between University of Science and Technology of China (USTC) and CUHK • Number of hops: 15 • Time : 11:00 a.m. to 8:00 p.m. (9 hours) • The 9-hour trace is divided into 9 1-hour traces for simulations

  24. Trace-driven Simulation Results • System settings • bmax = 1.1 Mbps • bmin= 200 Kbps • BT = 5 seconds • W = 2 • M = 1 second • Bmax = 50 MBytes

  25. Trace-driven Simulation Results • Maximum Average Video bit rate for underflow ratio = 0 CR DVT-TDS DVT JE

  26. Trace-driven Simulation Results • Maximum Average Video bit rate for underflow ratio = 0.004 CR DVT-TDS DVT JE

  27. Trace-driven Simulation Results • Maximum Average Video bit rate for underflow ratio = 0.008 CR DVT-TDS DVT JE

  28. Trace-driven Simulation Results • Predictability on Underflow Ratio DVT DVT-TDS CR

  29. Trace-driven Simulation Results • Predictability on Underflow Ratio DVT DVT-TDS CR

  30. Trace-driven Simulation Results • Predictability on Average video bit rate DVT DVT-TDS CR

  31. Trace-driven Simulation Results • Predictability on Average video bit rate DVT DVT-TDS CR

  32. Conclusions and Future Research • Conclusions • DVT and DVT-TDS have much better performance than JE’s algorithm, and have comparable performance as CR’s algorithm in terms of client buffer underflow probability and average video bit rate. • DVT-TDS offers higher predictability in the performance

  33. Conclusions and Future Research • Future Research • Consideration of the variation of video quality • Dynamic Optimization of system parameters • Integration with other TCP-friendly congestion control algorithms

  34. References [1] T. Kim, S. Lu and V. Bharghavan, “Improving Congestion Control Performance Through Loss Differentiation,”Proc. IEEE Int. Conf. Computers and Communications, 1999, pp. 140-145. [2] S. Cen, C. Pu and J. Walpole, “Flow and Congestion Control for Internet Media Streaming Applications,”Proc. SPIE/ACM MMCN’98, Jan. 1998. [3] D. Bansal and H. Balakrishnan, “Binomial Congestion Control Algorithms,”Proc. IEEE INFOCOM, 2001, pp. 631-640. [4] S. Jacobs and A. Eleftheriadis, “Streaming video using dynamic rate shaping and TCP congestion control,”Journal of Visual Communication and Image Representation, vol.9, issue 3, Sept. 1998, pp.211-222. [5] P. de Cuetos, K. Ross, “Adaptive Rate Control for Streaming Stored Fine-Grained Scalable Video,”NOSSDAV’02, Miami, Florida, May 12-14, 2002.

  35. Real-time Heuristic Rate Control Algorithm • Notations • C(t) – Maximum TCP available throughput at time t • Ci– The average TCP throughput for the i thsecond since transmission starts • B(t)– Client buffer occupancy in terms of seconds’ worth of video data at time t • Bk – The client buffer occupancy when the k th slot of video is sent • BT – The initial client buffer occupancy • b(t) – The video bit rate at video time t • bk– The video bit rate of the k th slot of video • bmax – The original average video bit rate • bmin– The lowest achievable average video bit rate • Bk’- The estimate of client buffer occupancy when the k th slot of video is sent • Dk’- The estimate of average TCP throughput for sending the k th slot of video • M – The video duration for each slot of video • n – Number of slots

More Related