Download presentation
Presentation is loading. Please wait.
Published byRalph Riley Modified over 9 years ago
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.134-141.
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.234-244. [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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.