Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slice–and–Patch An Algorithm to Support VBR Video Streaming in a Multicast– based Video–on–Demand System.

Similar presentations

Presentation on theme: "Slice–and–Patch An Algorithm to Support VBR Video Streaming in a Multicast– based Video–on–Demand System."— Presentation transcript:

1 Slice–and–Patch An Algorithm to Support VBR Video Streaming in a Multicast– based Video–on–Demand System

2 Agenda 1. Introduction 2. Constant Bit Rate vs. Variable Bit Rate 3. Super–Scalar Video–on–Demand (SS–VoD) 4. Challenge in supporting VBR video 5. Static Channel Priority 6. Dynamic Channel Priority 7. Slice–and–Patch 8. Simulation Result

3 Introduction True video–on–demand (TVoD) system Dedicated channel for every client Problem: doesn’t scale up well Make use of network multicast to solve scalability problem Allows multiple clients to receive data from one single channel Examples: Periodic Broadcasting, Batching, Patching

4 Assumption – CBR Assumption in these multicast VoD architecture Videos are constant–bit–rate (CBR) encoded Constant–Bit–Rate (CBR) Resource allocation is easy  Example Video bit rate – 3 Mbps Channel available if 3 Mbps of bandwidth is available Problem 1. Visual Quality varies over the whole video Encoder generates same number of output bits for all scenes Complicated scenes will suffer greater quality degradation 2. Potential waste of resources Bits are wasted for encoding less–complicated scene

5 Variable–Bit–Rate Variable–Bit–Rate (VBR) Advantages  Visual Quality consistent over the whole video Less output bits for less complicated scene More output bits for complicated scene to maintain quality  Potential increase in resource utilization Similar visual quality at only half average bit rate Problem  Resource allocation is more difficult in streaming VBR data W. S. Tan, N. Duong, J. Princen, “A Comparison Study of Variable-bit-rate versus Fixed-bit-rate Video Transmission,” Proc. Australian Broadband Switching and Services Symposium, 1991, pp

6 SS–VoD Multicast–based Video–on–Demand System Designed based on CBR video streaming Two kinds of channels: Static Channels  Each static channel broadcast the whole video repeatedly  Broadcasting channels staggered to start every T r seconds Dynamic Channels  Allocated when clients are admitted  Stream missed content to the clients J. Y. B. Lee, C. H. Lee, “Design, Performance Analysis, and Implementation of a Super-Scalar Video-on-Demand System,” submitted for publication.

7 SS–VoD Client Admission Statically Admitted Clients  Admitted if clients arrived in the threshold region (t ad before the start of a static channel) of the coming static channel  Clients cache data from the static channel for playback Dynamically Admitted Clients  Request clients to wait if bandwidth is not enough  If bandwidth is available, serve all waiting clients  Admitted clients cache data from the static and dynamic channel synchronously

8 SS–VoD – Example At t 0, resource is available A dynamic channel is allocated to serve all waiting clients Dynamic channel hold for  = t 0 – t m At t 1, clients arrived during threshold region Wait for the start of the static channel Static Channels t1t1 t0t0 t ad Data received by C 1  tmtm TrTr

9 SS–VoD – CBR based Assume clients can retrieve data from 2 channels synchronously Clients’ max. access bandwidth = 6 Mbps Average bit rate of video = 3 Mbps For CBR video  Each channel only requires 3 Mbps  Fully retrieval of data from 2 channels guaranteed For VBR video, bit rate may vary from 2 Mbps to 4Mbps  Each channel may stream data at a bit rate equal to the video’s actual bit rate  2 channels of data may require bandwidth > 6 Mbps

10 VBR – Solutions 1. Temporal smoothing [1] Make use of client’s buffer to receive data in advance Piecewise linear delivery of video data Problem  Smoothed video is still VBR 2. Data skipping [2] Priority given to channel with greatest demand of data Channel that cannot be served is skipped Problem  No guarantee of full–retrieval of video data  Possibly quality degradation [1]W. Feng, S. Sechrest, “Smoothing and Buffering for the Delivery of Pre-recorded Video,” Proc. ISET/SPIE Multimedia Computing and Networking, Feb 1995, pp [2]D. Saparilla, K. W. Ross, M. Reisslein, “Periodic Broadcasting with VBR-Encoded Video” Proc. IEEE Infocom 1999, New York City, US, March 1999.

11 VBR – Solutions 1. Static Channel Priority Caches more data from static channel 2. Dynamic Channel Priority Fully use client’s access bandwidth by dynamic channel 3. Slice–and–Patch Prefetch, Slice, Three–Phase–Patching

12 Static Channel Priority Assume client access bandwidth = R max Mbps Static channel broadcast video data following the video bit rate profile v(t) Mbps Dynamic channel stream missed data at the rate u(t)=R max – v(t) Mbps Bandwidth of the dynamic channel may be lower than the video bit rate

13 Static Channel Priority Prefetch Delay ~55s If start playback earlier  Data accumulated < Data Consumed  Not smooth playback

14 Dynamic Channel Priority Static channel broadcast video data following the video bit rate profile v(t) Mbps Dynamic channel stream missed data at the rate u(t)=R max Mbps Clients only cache data from the dynamic channel Clients should have missed the data: 1. already broadcasted by the static channel 2. missed during reception of data from dynamic channel

15 Dynamic Channel Priority Dynamic Channel held until data accumulated reach the data broadcasted from the static channel

16 Slice–and–Patch Prefetch data to reduce Peak Rate of the video Slice the video Minimize amount of prefetch data Allow clients to cache data from the static channel Three–phase patching (TPP) Maintain smooth playback once playback is started Maximize the use of static channels

17 Slice Assumption Clients’ max. access bandwidth = R max Mbps Average Bit Rate of encoded video = R avg Mbps Server’s max. bandwidth = B max Mbps Slice video from start of the video to T A = T r +pT r p = (2R cut –R max )/(R max –R cut ) R avg < R cut < 2/3(R max )

18 Slice – Procedure Step 1 – Slice A  Collect all data above R cut to form Slice A Step 2 – Slice B  Portion 1: From start of video to TA Remaining video data that exceeds the bitrate (R max  R cut ) Bit rate bounded by 2R cut –R max  Portion 2: From TA to end of video All video data that exceeds the bitrate (R max –R cut )

19 Slice – Procedure Step 3 – Slice C  The rest of the video data after the first 2 steps  Rate of video < (R max –R cut ) Video Playback Time C3 A1A1 A2A2 A3A3 A4A4 R max R cut R max  R cut Bit Rate Slice B Slice C Slice A TATA

20 Bandwidth Allocation 1. Allocate R max for repeatedly broadcasting Slice A Broadcast repeatedly once every t da =A/R max seconds 2. Remaining bandwidth divided equally between static and dynamic channels Static Channels  Slice B and Slice C broadcasted by separate channels  Number of these two channels is equal  1 Pair of these channels is grouped to 1 static channel  Broadcast video following the actual bit rate  Offline numerical procedures to find the number of static channels that can fit in the bandwidth (B max  R max )/2

21 Static Channels B R max AAAAAAAA … Time Bit Rate 2R cut –R max TATA Bit Rate Time C R max –R cut Time Bit Rate

22 Three–Phase Patching (TPP) Phase 1 Purpose – Cache all “high rate” data Duration – t da Phase 2 Purpose – Support playback immediately Duration – t 1 –t m  t 1 – time when dynamic channel is available  t m – time when last static channel starts broadcasting Phase 3 Purpose – Stream missed content during phase 2 Duration – p(t 1 –t m )

23 TPP – Dynamic Channel Allocated when a bandwidth of R cut is available Phase 2 Bandwidth Reserved = R cut Purpose – stream Slice B & C to clients On completion – switch to phase 3 Phase 3 Bandwidth reserved reduced to (2R max –R cut ) Excess bandwidth returned for new dynamic channels Purpose – Stream missed Slice B during phase 2 On completion – release the channel

24 TPP – Example B3B3 C3C3 C3C3 t0t0 A Slice B Slice C Client Playback Dynamic Channel Slice A tmtm t1t1 B1B1 B2B2 B1B1 B3B3 B2B2 Received Data 2t 1 –t m C1C1 C1C1 C2C2 B1B1 B3B3 B2B2 B1B1 C1C1 C3C3 C2C2 C2C2 C1C1 B2B2 AA R max R cut R max – R cut Phase 1Phase 2Phase 3

25 TPP – Properties Max. length of phase 3 Latest dynamic channel starts at t =T r +t m Duration of phase 2 = t –t m =T r Max. Size of Slice B missed = (2R cut –R max )T r Max. Time required = T r (2R cut –R max )/(R max –R cut ) Rate reduction Occur when switching from phase 2 to phase 3 Dynamic channel may be available at point of rate reduction Increase number of network resource negotiations

26 TPP – Smooth Playback Smooth Playback guarantee 1. During phase 2  Dynamic channel stream slice B & C following actual bit rate  Video bit rate is followed 2. During phase 3  Whole slice C that would be needed is cached  Dynamic channel stream slice B at bit rate > actual bit rate of slice C  Client must have more video data than needed in advance 3. After phase 3  Smooth playback supported by static channels

27 Performance Evaluation Simulation Compare to SS–VoD with CBR video For S&P, R cut set to 1.1R t where R t is the average bit rate over first 2T r VBR video bit rate traces from 50 DVD movies All bit rate traces scaled to average 3 Mbps Server has total bandwidth = 150 Mbps Clients’ max access bandwidth = 6 Mbps Simulation time = 30 days

28 Simulation Result

29 Static Channel Priority Dynamic Channel Priority Slice & Patch Averge increase of mean latency 550%120%50% Variance of increase of mean latency 865%14%40% Max increase of mean latency >2000%180%

30 Conclusion Price to pay using S&P is low ~50% increase of mean latency Visual Quality is much improved Performance of S&P can be further improved with optimized R cut

Download ppt "Slice–and–Patch An Algorithm to Support VBR Video Streaming in a Multicast– based Video–on–Demand System."

Similar presentations

Ads by Google