Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Adaptive Video Streaming Over Internet Using Dynamic Video Transcoding By Lam Ling Shun, Felix."— 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 Bandwidth Internet Video Quality Degradation

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 Transcoder b max Video bit rate b max Transcoded Video bit rate Original Video Transcoded Video b min

8 System Model – Server Side ► Assumptions on Transcoder  NEGLIGIBLE transcoding time  CBR-encoded video  Same b max along the video  Constant b min along the video  Note: In practice, b min varies along the video b max Transcoded Video bit rate b min

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

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. b max b min Transcoded Video bit rate Video time b1b1 b2b2 b3b3 b4b4 M M M M

12 System Model – Client Side ► Initial Prefetch  Initially, the client prefetches up to B T seconds’ worth of video data with bit rate b max before decoding. BTBTBTBT T 0 ( Prefetch delay ) Transmission Time Client Buffer Occupancy BTBTBTBT b max Video time Video bit rate

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 (B k )  Case 1: No client buffer underflow has occurred T0T0T0T0 BTBTBTBT TkTkTkTk Time when the k th slot has been sent T k -T 0 kM Cumulative Data Consumed Cumulative Data Transmitted 0 Transmission time Cumulative Video Data (seconds) B(t) t B k = B k ’ =kM – (T k -T 0 ) BkBk

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

16 Real-time Heuristic Rate Control Algorithm ► Estimation of average TCP throughput for sending the k+1 th slot (D k+1 ’ ) C i-W+1 … C i-W+2 CiCi ii-1i-W+2i-W+1TkTk C avg_W i+1 TCP throughput Transmission time D k+1 ’ =MIN(C i, C avg_W )

17 Real-time Heuristic Rate Control Algorithm

18 ► Compute b k+1 :  Case 1: B k ’ <= B T ► Target: B k+1 =B T ► B T = B k ’ +M - b k+1 M /D k+1 ’ Bk’Bk’ BTBT b k+1 M /D k+1 ’ M b k+1 =[1- (B T - B k ’ ) /M ] D k+1 ’

19 Real-time Heuristic Rate Control Algorithm ► Compute b k+1 :  Case 2: B k ’ > B T ► Target: B k+1 =aB T +(1-a) B k ’, 0<=a<=1 ► a is used to trade off between average video bit rate and client buffer underflow ratio Bk’Bk’ BTBT b k+1 M /D k+1 ’ M aB T +(1-a) B k ’ =[1- a(B T - B k ’ ) /M ] D k+1 ’ b k+1 =[1- a(B T - B k ’ ) /M ] D k+1 ’

20 Real-time Heuristic Rate Control Algorithm ► Heuristic Algorithm For k = T 0 /M to n -1: Step 1: Compute B k ’ and D k ’ Step 2: Compute the value of b k+1 : If B k ’ <= B T b k+1 = [1-(B T - B k ’ )/M] D k+1 ’ b k+1 = [1-(B T - B k ’ )/M] D k+1 ’else b k+1 = [1-a(B T - B k ’ )/M] D k+1 ’ b k+1 = [1-a(B T - B k ’ )/M] D k+1 ’ Step 3: b k+1 =MIN(MAX(b k+1, b min ), b max )

21 Real-time Heuristic Rate Control Algorithm ► Problem of overestimating D k+1  D k+1 ’ >> D k+1 Bk’Bk’ BTBT b k+1 M /D k+1 ’ M b k+1 M /D k+1 Client buffer underflow!!

22 Real-time Heuristic Rate Control Algorithm ► Transmission Deadline Strategy (TDS)  The transmission Deadline (X k+1 ) = The time at which the transmission of the k+1 th slot is expected to end = T k + b k+1 M /D k+1 ’  Any unsent data at the server buffer would be discarded at X k+1, a new slot would be formed Bk’Bk’ BTBT b k+1 M /D k+1 ’ M ’ b k+1 M ’ /D k+1 Probability of client buffer underflow reduced

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  b max = 1.1 Mbps  b min = 200 Kbps  B T = 5 seconds  W = 2  M = 1 second  B max = 50 MBytes

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

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

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

28 Trace-driven Simulation Results ► Predictability on Underflow Ratio DVT-TDS DVT 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-TDS CR DVT

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

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  C i – The average TCP throughput for the i th second since transmission starts  B(t) – Client buffer occupancy in terms of seconds ’ worth of video data at time t  B k – The client buffer occupancy when the k th slot of video is sent  B T – The initial client buffer occupancy  b(t) – The video bit rate at video time t  b k – The video bit rate of the k th slot of video  b max – The original average video bit rate  b min – The lowest achievable average video bit rate  B k ’ - The estimate of client buffer occupancy when the k th slot of video is sent  D k ’ - 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


Download ppt "Adaptive Video Streaming Over Internet Using Dynamic Video Transcoding By Lam Ling Shun, Felix."

Similar presentations


Ads by Google