Title: Broadcast Techniques for Video on Demand
1Broadcast Techniques for Video on Demand
- Kien A. Hua
- School of EE Computer Science
- University of Central Florida
- Orlando, FL 32816-2362
- U.S.A
2Server Channels
- The unit of server capacity required to deliver a
video stream is referred to as a channel. - These channels are dispatched to deliver various
video streams at different times.
3Using Dedicated Stream
Video Server
Dedicated stream
Client
Expensive
Client
Client
Not scalable
Client
4A Solution
- Using broadcast to share channels among users
- Broadcast is essentially free for a large user
community
5Traditional Multicast
Video Server
Client
Client
Client
Client
6Conflicting Goals in Video
Multicast ?
- Low Latency requests must be served as soon as
possible
- Highly Efficient each multicast should wait to
serve a large number of clients
Can we achieve both ?
7Broadcast for VOD
- Requirement on server bandwidth is independent
of the number of users the system is designed to
support.
Less expensive more scalable !!
Broadcast cannot deliver videos on demand ?
?
?
8Simple Periodic BroadcastStaggered Broadcasting
- A new stream is started every interval for each
video. - The worst service latency is the broadcast period.
9Limitation of Simple Periodic Broadcast
- Access latency can be improved only linearly with
increases to the server bandwidth - Double the number of channels to reduce the
service latency in half
Can we do better ?
10Skyscraper Broadcasting
- Each video is fragmented into K segments, each
repeatedly broadcast on a dedicated channel at
the playback rate. - The sizes of the K segments have the following
pattern - 1, 2, 2, 5, 5, 12, 12, 25, 25, , W, W, , W
Even group
Odd group
Size of larger segments are constrained to W
(width of the skyscraper).
11Generating Function
- The broadcast series is generated using the
following recursive function
f(n)
12Skyscraper Broadcasting Playback Procedure
- The Odd Loader and the Even Loader download the
odd groups and the even groups, respectively. - The W-segments are downloaded sequentially using
only one loader. - As the loaders fill the buffer, the Video Player
consumes the data in the buffer.
13SB Multiuser Example
1
2
3
4
5
6
7
8
Playback schedule
- Each segment is available before it is needed for
the playback
14Advantages of Skyscraper Broadcasting
- Unlimited scalability
- Service latency can be reduced exponentially with
increases in server bandwidth - Since W-segments are downloaded sequentially,
buffer requirement is minimal.
Skyscraper
15Client Centric Approach (CCA)
- Segments are grouped according to the number of
channels the clients can download simultaneously - Inside each group, each segment is twice the size
of the last segment - The first segment of any group is the same size
as the last segment of the previous group
C 3 (Clients have three loaders)
16CCA Broadcasting
- Server broadcasts each segment at playback rate
- Clients use c loaders
- Each loader downloads its streams sequentially,
- e.g., i th loader is responsible for segments i,
ic, i2c, i3c, - Equal-size W-segments are downloaded sequentially
using one loader
C 3 (Clients have three loaders)
17A CCA Example
18Advantages of CCA
- It has the advantages of Skyscraper Broadcasting.
- It can leverage client bandwidth to improve
performance.
19UCF Video Jukebox
20Cautious Harmonic Broadcasting(Segmentation
Design)
- A video is partitioned into n equally-sized
segments. - The first channel repeatedly broadcasts the first
segment S1 at the playback rate. - The second channel alternately broadcasts S2 and
S3 repeatedly at half the playback rate. - Each of the remaining segment Si is repeatedly
broadcast on its dedicated channel at 1/(i1) the
playback rate.
21Cautious Harmonic Broadcasting(Download
Playback Strategy)
- The client receives data from all streams for
the video simultaneously. - The client starts the playback as soon as it can
download the first stream.
22Cautious Harmonic Broadcasting
- Advantage Better than Skyscraper Broadcasting in
terms of server bandwidth requirement. - Disadvantage Requires many times more client
bandwidth then Skyscraper Broadcasting. - Implementation Issues
- The client must receive data from many channels
simultaneously (e.g., 240 channels are required
for a 2-hour video if the desired latency is 30
seconds). - A storage subsystem capable of moving their read
heads fast enough to multiplex among so many
concurrent streams would be very expensive.
23Pagoda BroadcastingData Fragmentation
- Each video is divided into equally-sized segments
- Using the following series to determine the
number of segments for each channel - 1, 3, 5, 15, 25, 75, 125,
- Segments appearing on a channel do not have to be
consecutive.
24Pagoda BroadcastingDownload and Playback Strategy
- Each channel broadcasts data at the playback rate
- The client receives data from all channels
simultaneously. - It starts the playback as soon as it can download
the first segment. -
25Pagoda BroadcastingAdvantage Disadvantage
- Advantage Required server bandwidth is low
compared to Skyscraper Broadcasting - Disadvantage Required client bandwidth is
many times higher than Skyscraper Broadcasting - Achieving a maximum delay of 138 seconds for a
2-hour video requires each client to have a
bandwidth five times the playback rate, e.g.,
approximately 20 Mbps for MPEG-2 - System cost is significantly more expensive
26New Pagoda Broadcasting
- New Pagoda Broadcasting improves on the original
Pagoda Broadcasting. - Required client bandwidth remains very high
- Example Achieving a maximum delay of 110
seconds for a 2-hour video requires each client
to have a bandwidth five times the playback rate. - Approximately 20 Mbps for MPEG-2
- System cost is very expensive
27Total System Cost
- Service latency can be improved by increasing
bandwidth in two ways - Increasing client bandwidth, e.g., Harmonic
Broadcasting, Pagoda Broadcasting, etc. - This approach is expensive
- Increasing server bandwidth, e.g., Skyscraper
Broadcasting, CCA, etc. - This approach is less expensive
28Hybrid Approach
- Periodic broadcast is better for very popular
videos - Batching (scheduled multicast) is more
appropriate for less popular videos - A hybrid of these two approaches
- offers the best performance
29Adaptive Hybrid Approach (AHA)
- Popularity of each video is assessed periodically
based on the distribution of recent requests. - Popular videos are served using Skyscraper
Broadcasting - Less popular videos are served using batching
- Number of channels used for periodic broadcast
depends on the current mix of popular videos - Remaining channels are allocated to batching
30AHA Determine Popularity
- A video Vi is popular if the following two
conditions are true - Test 1 ensures that Vi is relatively popular to
deserve the broadcast channels - Test 2 verifies that Vi is indeed popular (i.e.,
small inter-arrival rate)
Worst delay for Staggered Broadcasting
31AHA Schedulers
- Popularity Evaluator periodically assigns each
video to either Batching Scheduler or Broadcast
Scheduler. - When a request arrives for a popular video,
Broadcast Scheduler informs the client which
channels to download the video. - For less popular videos, Batching Scheduler
assigns the next available channel to multicast
the video with largest aggregated waiting time.
32Support VCR-like Operations in a Broadcast
Environment ?
33VCR-Like Interactivity
- Continuous Interactive functions
- Fast forward
- Fast rewind
- Pause
- Discontinuous Interactive functions
- Jump forward
- Jump backward
- Useful for many VoD applications
34VCR Interaction Using Client Buffer
Video stream
Video stream
Video stream
Video stream
Video stream
35Interaction Using Batching
- Requests arriving during a time slot form a
multicast group - Jump operations can be realized by switching to
an appropriate multicast group - Use an emergency stream if a destination
multicast group does not exist
36Continuous Interactivity under Batching
- Pause
- Stop the display
- Return to normal play as in Jump
- Fast Forward
- Fast forward the video frames in the buffer
- When the buffer is exhausted, return to normal
play as in Jump - Fast Rewind
- Same as in fast forward, but in reverse direction
37Patching One Client
Video
Regular Multicast
A
38Patching Two Clients
Skew point
Video
t
Patching Stream
Regular Multicast
A
39Proposed Technique Patching
Video
2t
Regular Multicast
Skew point is absorbed by client buffer
Buffer
Video Player
A
B
40Optimal Patching Window
time
patching window
patching window
r
p
p
p
r
p
p
A
B
C
D
E
F
G
Multicast group
Multicast group
What is the optimal patching window ?
41Simple Patching
- Patching is used if the client has enough buffer
space to absorb the skew. - Too greedy. May result in many long patching
streams
42Optimal Patching Window
- Compute D, the mean amount of data transmitted
for each multicast group - Determine ? , the average time duration of a
multicast group - Server bandwidth requirement is D/? which is a
function of the patching period - Finding the patching period that minimizes the
bandwidth requirement
43Candidates for Optimal Patching Window
44Split and Merger (SAM) Protocol
- Uses 2 types of streams, S streams for normal
multicast and I streams for interactivity. - When a user initiates an interactive operation
- Use an I channel to interact with the video
- When done, use the I channel as a patching stream
to join an existing multicast - Return the I channel
Advantage Unrestricted fast forward and rewind
Disadvantage I streams are expensive
45Resuming Normal Play in SAM
- Use the I stream to download segments 6 and 7,
and render them onto the screen - At the same time, join the target multicast and
cache the data, starting from segment 8, in a
local buffer
46Interaction with Broadcast Video
- The interactive techniques developed for Batching
can also be used for Staggered Broadcast - However, Staggered Broadcast does not perform
well
47Client Centric Approach (CCA)
- Server broadcasts each segment at the playback
rate - Clients use c loaders
- Each loader downloads its streams sequentially,
- e.g., i th loader is responsible for segments i,
ic, i2c, i3c, - Equal-size W-segments are downloaded sequentially
using one loader
C 3 (Clients have three loaders)
48CCA is Good for Interactivity
- Segments in the same group are downloaded at the
same time - Facilitate fast forward
- The last segment of a group is of the same size
as the first segment of the next group - Ensure smooth continuous playback after
interactivity
49Broadcast-based Interactive Technique (BIT)
Compression ratio is 4
50BIT
- Two Buffers
- Normal Buffer
- Interactive Buffer
- When Interactive Buffer is exhausted, client must
resume normal play
51BIT Loaders Receiving Data
- c2 loaders, where c is the group size
- c regular loaders download the regular segments
as in CCA - The 2 interactive loaders function as follows
- If the current playback segment is in the first
half of its group, the two interactive loaders
are allocated to the previous and current
interactive segments - Otherwise, they are allocated to the current and
next interactive segments
Keeping play point at middle of interactive buffer
52BIT Resume-Play Operation
Three segments are being download
simultaneouslyActual destination point is
chosen from among frames at broadcast point to
ensure continuous playback
53BIT Resume-Play Operation(All Scenarios)
Three segments are being download
simultaneouslyActual destination point is
chosen from among frames at broadcast point to
ensure continuous playback
54BIT - User Behavior Model
- mx duration of action x
- Px probability to issue action x
- Pi probabilty to issue interaction
- mi duration of the interaction
- mff mfr mpause mjf mjb,
- Ppause Pff Pfb Pjf Pjb Pi/5.
- dr mi/mp interaction ratio.
55Two Performance Metrics
- Percentage of unsuccessful action
- Interaction fails if the buffer fails to
accommodate the operation - e.g., a long-duration fast forward pushes the
play point off the Interactive Buffer - Average Percentage of Completion
- Measure the degree of incompleteness
- e.g., if a 20-second fast forward is forced to
resume normal play after 15 seconds, the
Percentage of Completion is 15/20, or 75.
56BIT - Simulation Results
57Support Client Heterogeneity
- Using multi-resolution encoding
- Bandwidth Adaptor
- HeRO Broadcasting
58Multi-resolution Encoding
- Encode the video data as a series of layers
- A user can individually mould its service to fit
its capacity - A user keeps adding layers until it is congested,
then drops the higher layer
Drawback Compromise the display quality
59Bandwidth Adaptors
Advantage All clients enjoy the same quality
display
60Requirements for an Adaptor
- An adaptor dynamically transforms a given
broadcast into another less demanding one - The segmentation scheme must allow easy
transformation of a broadcast into another - CCA segmentation technique has this property
61Two Segmentation Examples
62Adaptation (1)
Adaptor downloads from all broadcast channels
simultaneously
63Adaptation (2)
- Each sender routine retrieves data chunks from
buffer, and broadcast them to the downstream - For each chunk, the sender routine calls
deleteChunk to decide if the chunk can be deleted
from the buffer
64Buffer Management
- insertChunk implements an As Late As Possible
policy, i.e., - If another occurrence of this chunk will be
available from the server before it is needed,
then ignore this one, else buffer it. - deleteChunk implements an As soon As Possible
policy, i.e., - Determine the next time when the chunk will need
to be broadcast to the downstream. - If this moment comes before the availability of
the chunk at the server, then keep it in storage,
else delete it.
65The Adaptor Buffer
- Computation is not intensive.
- It is only performed for the first chunk of the
segment, i.e., - if this initial chunk is marked for caching, so
will be the rest of the segment. - Same thing goes for deletion.
66The start-up delay
- The start-up delay is the broadcast period of the
first segment on the server
67HeRO Heterogeneous Receiver-Oriented
Broadcasting
- Allows receivers of various communication
capabilities to share the same periodic broadcast - All receivers enjoy the same video quality
- Bandwidth adaptors are not used
68HeRO Data Segmentation
- The size of the i th segment is 2i-1 times the
size of the first segment
69HeRO Download Strategy
- The number of channels needed depends on the time
slot of the arrival of the service request - Loader i downloads segments i, iC, i2C, i3C,
etc. sequentially, where C is the number of
loaders available.
Global Period
70HeRO Regular Channels
- The first user can download from six channels
simultaneously
Request 1
71HeRO Regular Channels
- The second user can download from two channels
simultaneously
Request 2
72Worst-Case for Clients with 2 loaders
- Worst-case latency is 11 time units
- The worst-cases appear because the broadcast
periods coincide at the end of the global period
Request 2
11 time units
- Coincidence of the
- broadcast periods
- require more
- loaders
73Worst-Case for Clients with 3 loaders
- Worst-case latency is 5 time units
- The worst-cases appear because the broadcast
periods coincide at the end of the global period
Request
5 time units
Coincidence of the broadcast periods
74Observations of Worst-Cases
- For a client with a given bandwidth, the time
slots it can start the video are not uniformly
distributed over the global period. - The non-uniformity varies over the global period
depending on the degree of coincidence among the
broadcast periods of various segments. - The worst non-uniformity occurs at the end of
each global period when the broadcast periods of
all segments coincide. - The non-uniformity causes long service delays for
clients with less bandwidth. - We need to minimize this coincidence to improve
the worst case.
75Adding one more channel
- We broadcast the last segment on one more
channel, but with a time shift half its size. - We now offer more possibilities to download the
last segment and above all, we eliminate the
coincidence of all segments (i.e., no longer
requiring 6 loaders).
Regular Group
Shifted Channel
76HeRO
- To reduce service latency for less capable
clients, broadcast the longest segments on a
second channel with a phase offset half their
size.
Shifted Channels
77HeRO Experimental Results
- Under a homogeneous environment, HeRO is
- competitive in service latencies compared to
other protocols - the most efficient protocol to save client buffer
space - HeRO is the first periodic broadcast technique
designed to address the heterogeneity in receiver
bandwidth - Less capable clients enjoy the same playback
quality
78Patching
Video
2t
Regular Multicast
Skew point is absorbed by client buffer
Buffer
Video Player
A
B
79Limitation of Patching
- Performance of Patching is limited by server
bandwidth. - Can we scale the application beyond the physical
limitation of the server ?
80Range Multicast
9
10
Video Server
5
6
7
8
4
RM Router 1
RM Router 2
1
2
3
81Range Multicast
82Multicast Range
- All members of a conventional multicast share the
same play point at all time - They must wait until the multicast time
- Members of a range multicast can have a range of
different play points - They can join a range multicast at their leisure
without waiting
Multicast Range at time 11 0, 11
83Prototype RM Routers
84P2P Live Broadcast
85Chaining First P2P Streaming
Scale beyond the bandwidth limitation of the
server
86Requirements in P2P Live Broadcast
87Issue 1 Liveness
source
88Issue 2 Robustness
The server is already busy
source
Too many reconnections!
89Issue 3 Control Overhead
- Peers periodically exchange information to
maintain its position and connections. - The overhead of this task should be small and
independent of the number of peers
90ZIGZAG - Live P2P Broadcast
- A peer, at its highest level, connects to peers
from a different cluster in the next level - Peers that are not leaders get data from a leader
of a different cluster
91ZIGZAG - Advantages
- Short broadcast tree improves liveness
- Small fanout keeps reconnecting cost low
- Hierarchy helps reduce control message overhead
922-Phase Service Model(2PSM)Browsing Video in
a Low Bandwidth Environment
93Search Model
- Use similarity matching or keyword search to look
for the candidate videos. - Preview some of the candidates to identify the
desired video. - Apply VCR-style functions to search for the video
segments.
94Conventional Streaming
1. Download So
2. Download S1
while playing S0
3.
Download S2
while playing S1
.
.
.
Advantage
Reduce wait time
Disadvantage
Not suitable for searching video
95Search Techniques
- Use extra preview files to support the preview
function - Requires more storage space
- Downloading the preview file adds delay
- Use separate fast-forward and fast-reverse files
to provide VCR-style operations - Requires more storage space
- Server can become a bottleneck
96VCR-like Functionality is Expensive
- Supporting VCR-like operations
- demands substantial network bandwidth, and
- requires significant server resources
- Can we avoid these costs ?
972PSM Preview Phase
982PSM Playback Phase
t
99Advantages
1. It requires no extra files to provide the
preview feature.
2. Downloading the preview frames is free.
3. It requires no extra files to support the VCR
functionality.
4. Server is not involved in the VCR-style
interaction.
100UCF Video Browser
101iSEE - Intelligent Sensors Exploration
Environment