Scalable live video streaming to cooperative clients using time shifting and video patching
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on
  • Presentation posted in: General

Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching. Meng Guo and Mostafa H. Ammar INFOCOM 2004. Introduction (1/2). Overlay multicast A client forwards the content it is receiving, and serves other client ’ s request as a server. Problems

Download Presentation

Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Scalable live video streaming to cooperative clients using time shifting and video patching

Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching

Meng Guo and Mostafa H. Ammar

INFOCOM 2004


Introduction 1 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)


Introduction 2 2

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


Basic operations

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 rc

    • The time interval between the moment when the client c is disconnected and the moment when the client is reconnected.


Definitions

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.


Infinite shifting

S1

S2

S3

Received stream

Viewing delay

d

Δ1

Δ2

Δ3

t1

t2

t3

Infinite shifting

playback time

S0

Starving period

= Freezing period

time

In a live streaming service, is it essential to receive the missed part of the video stream?


Video patching in live streaming

Client playout

Δ2

Δ1

t1

t1+d

t2

t2+r2+d

t1+r1

t1+r1+d

t2+r2

t2+d

Video patching in live streaming

playback time

S0

S1

Client receive rate

t1+r1: rejoin the original stream

t1+Δ1: rejoin the patching stream

t1+d: receive the patching stream

time

d


Continuous video streaming

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.


Continuous video streaming with initial delay

Continuous video streaming with initial delay


The example of system operations 1 2

The example of system operations (1/2)


The example of system operations 2 2

The example of system operations (2/2)


Design details

Design details

  • Time shifting video server

  • Channel allocation

  • Patching stream selection

  • Node join algorithm

  • Node leave


Video server design

Video server design


1 1 channel allocation

1:1 channel allocation


Static multiplex channel allocation

Static multiplex channel allocation


Dynamic multiplexing with channel merging

Dynamic multiplexing with channel merging

  • m: the number of live channels.

  • Based on the lifetime:

    • A video program of length T

    • At time t0, the lifetime of the original stream is T–t0.

    • The lifetime for the patch stream is its time shifting value, i.e., the life time of Sk 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.


Patching stream selection

Patching stream selection

  • Let a client disconnects from the multicast group at td, and it sends a node rejoin request to the server. When the server receives the rejoin requests, the live video playback time is t1.

  • The estimated connection set up time = t1–td.

  • The stream si is selected, while i is caculated by the formula below:

Because of the server->client latency


Node join algorithm

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.


Failed node discovery process

Failed node discovery process


Simulation environment

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.


Video patching on client video reception

Video patching on client video reception

disconnect

Playout the video data received during the previous patching

Disconnect: consume the data stored in the buffer


Video patching on viewing performance

Video patching on viewing performance

A larger life time implies shorter delay and less buffer usage.


Influence of video patching on tree structure

Influence of video patching on tree structure

high bw with patching

high bw no patching

stretch = delay

tree height

Average stretch

Patching increases the level of the multicast tree.

(reduce the number of live channels -> reduce the degree of root)


Video server channel utilization

Video server channel utilization


Client requests queuing delay

Client requests queuing delay


  • Login