Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching Meng Guo and Mostafa H. Ammar INFOCOM 2004.

Similar presentations


Presentation on theme: "Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching Meng Guo and Mostafa H. Ammar INFOCOM 2004."— Presentation transcript:

1 Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching Meng Guo and Mostafa H. Ammar INFOCOM 2004

2 Introduction (1/2) Overlay multicast A client forwards the content it is receiving, and serves other client ’ s request as a server. Problems Clients would leave or fail Rejoin latency implies data loss CoopNet Multiple Description Code (MDC) Multicast different portions of MDC streams over several overlay multicast trees Disadvantage Video quality fluctuation (client leave & join)

3 Introduction (2/2) Goals Continuous streaming service Single description code Clients always receive full quality video streams Solutions Provide time shifting streams at the server Using video patching to allow a client to catch up with the progress of the live video program A buffering scheme that allows the clients to store the video packets, and to playout when needed

4 Basic operations When a client first joins the multicast group, it always joins a multicast tree of the original stream. If the server has free video channel available, the client connects to the server directly. Otherwise, the client joins the tree by connecting to a client already in the tree who has both enough available bandwidth and the shortest overlay path to the server. Use packet loss rate to detect service disconnection Node rejoin delay r c The time interval between the moment when the client c is disconnected and the moment when the client is reconnected.

5 Definitions Viewing delay (the playback time of the original stream) – (the playback time of the video stream that the client is watching) Starving period The time interval that the client is not receiving any video Freezing period The time period when the client side play out is temporarily stopped.

6 Infinite shifting In a live streaming service, is it essential to receive the missed part of the video stream? S0S1S2S3 d time playback time Received stream t1t1 t2t2 t3t3 Δ1Δ1 Δ2Δ2 Δ3Δ3 Starving period Viewing delay = Freezing period

7 Video patching in live streaming S0S1 d time playback time Client playout t1t1 Client receive rate t1+r1t1+r1 Δ1Δ1 t1+dt1+d t 1 +r 1 : rejoin the original stream t 1 +Δ 1 : rejoin the patching stream t 1 +d: receive the patching stream Δ2Δ2 t2t2 t2+r2t2+r2 t2+dt2+d t2+r2+dt2+r2+d t1+r1+dt1+r1+d

8 Continuous video streaming There still some periods that the client ’ s playback is halted. Solution Initial access delay Longer access latency can result in smoother video reception.

9 Continuous video streaming with initial delay

10 The example of system operations (1/2)

11 The example of system operations (2/2)

12 Design details Time shifting video server Channel allocation Patching stream selection Node join algorithm Node leave

13 Video server design

14 1:1 channel allocation

15 Static multiplex channel allocation

16 Dynamic multiplexing with channel merging m: the number of live channels. Based on the lifetime: A video program of length T At time t 0, the lifetime of the original stream is T – t 0. The lifetime for the patch stream is its time shifting value, i.e., the life time of S k is d×k. The number of reserved patching channels The number of allocated video channels The number of patching channels |P| is monotonically increasing as the video program proceeds.

17 Patching stream selection Let a client disconnects from the multicast group at t d, and it sends a node rejoin request to the server. When the server receives the rejoin requests, the live video playback time is t 1. The estimated connection set up time = t 1 – t d. The stream s i is selected, while i is caculated by the formula below: Because of the server->client latency

18 Node join algorithm A “ well shaped ” overlay multicast tree should be wide and short. Level Join A newly arriving client joins the node whose overlay path distance to the server is shortest. Bandwidth First Push the client with larger bandwidth up to the higher level of the tree. Also consider the Level Join algorithm.

19 Failed node discovery process

20 Simulation environment Bandwidth capacity of the end hosts Barrow bandwidth: 1.5 Mbps, 70% Medium bandwidth: 10 Mbps, 20% High bandwidth: 100 Mbps, 10% The time shifting value = 4 seconds.

21 Video patching on client video reception disconnect Playout the video data received during the previous patching Disconnect: consume the data stored in the buffer

22 Video patching on viewing performance A larger life time implies shorter delay and less buffer usage.

23 Influence of video patching on tree structure Patching increases the level of the multicast tree. (reduce the number of live channels -> reduce the degree of root) high bw with patching high bw no patching tree height Average stretch stretch = delay

24 Video server channel utilization

25 Client requests queuing delay


Download ppt "Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching Meng Guo and Mostafa H. Ammar INFOCOM 2004."

Similar presentations


Ads by Google