Video Streaming to
Heterogeneous Receivers
Randeep Singh Gakhal
CMPT 886
June 3, 2004
Based on work in:
R. Janakiraman and L. Xu, "Layered Priority Encoded
Transmission for Video Streaming to Heterogeneous
Receivers," Proc. 2004 IEEE Int'l Symp. on Inf. Theory,
July 2004. (To appear)
Introduction
Most broadcasting techniques are intended for
homogeneous clients
Server assumes clients all have rate R
Clients whose rate isn’t R aren’t satisfied. Why?
Janakiraman [3] proposes a scheme that supports
clients whose rates are not the same:
Encode a movie and transmit it in layers
Clients download on a subset of the layers based on
available bandwidth
Introduction, cont’d
The scheme exploits an architecture called Priority
Encoded Transmission that provides many niceties:
Intimately related to harmonic broadcasting [2]
Error resilience
Physically realizable (i.e., implementations exist!)
In this talk, we discuss a complete system solution to
solving the problem of heterogeneous receivers that
addresses the following problems:
How to broadcast a single layer
How to multiplex multiple layers on virtual channels onto a
single channel
How to assign rates to each layer such that the client receives
optimal service (with respect to wait times)
And, how to minimize the reception of movie segments that
have already been viewed
Outline
Broadcasting Basics
Priority Encoding Transmission Architecture
Layered Broadcasting
Server Transmission Rate Assignment
Progressive Pruning
System Performance
Conclusion
Broadcasting Basics
Broadcast Definitions
We define a broadcast as the 4-tuple <C, M, S, T>
where:
C is the channel with bandwidth |C| symbols per
unit time
M is the movie of length |M| symbols
S is a segmentation of M consisting of
segments si
The transmission T assigns a rate T(si) to each si
on the channel C
Feasibility and Optimality
For a delay w, a broadcast is w-feasible if a client can
view the movie uninterrupted after a maximum delay
of w
A broadcast <C,M,S,T> that is w-feasible is optimal iff
there is no w’-feasible broadcast <C,M,S,T’> where
w’<w
Theorem: The broadcast <C,M,S,T> is w-feasible iff:
T ( si )
si
w j 1 s j
i 1
for all i. The broadcast is optimal at equality.
Parameters for Optimization
For broadcast <C,M,S,T> with channel bandwidth |C|,
we introduce two functions:
WMIN(|C|): optimal value for w
TMAX(|C|): rate assignment to each segment that gives the
optimal wait time w
E.g., Idealized Harmonic Broadcasting
One segment is one symbol.
1
TMAX ( si )
w i 1
WMIN C w
M
e 1
C
S
C
i 1
M
1
log 1
w i 1
w
Priority Encoding Transmission
What is PET?
Priority encoding transmission (PET) was originally conceived
by Albanese et al. to handle transmission on lossy channels
On a network, loss is random any packet of a transmission
consisting of n packets is equally likely to be lost.
With a PET system, you can encode the message over n
packets such that receipt of some m < n packets will suffice
to recover the message
Harmonic broadcasting is actually just a special case of a PET
system [2]
We can employ a PET system to build a harmonic
broadcast
PET Fundamentals
For a message of m words divided into k blocks, a PET
system generates n packets of length l.
The user supplies a priority function that maps each
of the k blocks to a priority on [0,1).
The user specifies m, k, and l.
is monotonically increasing.
To recover the first i blocks, the user only needs a
fraction (i) of the n encoded packets.
PET as Harmonic Broadcasting [2]
Given a PET system, what parameters do we use to
generate a harmonic broadcast?
Consider a movie of M symbols with wait time w:
We know blocks are equal sized and we must receive the
first block (1/k) of the transmission before we can begin
viewing
Number of blocks: w=M/k k=M/w
Pick any reasonable packet length
Our priority function: (i) = i/k
Realizing a PET Broadcast With Any
Broadcast Scheme
To realize any broadcast <C,M,S,T> using PET:
For the given packet length l, we set the total
number of packets to:
C
sj
n max
l
T
s
j
We encode each segment si into ni packets where:
T s j nl
ni
C
Create the n packets by taking ni/n from symbols
from every ni packets generated for each segment
without replacement
Layered PET
Layered Broadcasting
Using a single broadcast limits clients to receive
at the same rate
We could partition C into multiple broadcasts of
varying bandwidth and have clients subscribe at
their desired rate
Unable to support heterogeneous receivers
Naïve waste of bandwidth
The solution: layer the broadcast cumulatively
over multiple channels
Additive Properties of Channels
Two channels, C1 and C2, give us a new channel
with bandwidth |C1 + C2| = |C1|+ |C2|
For broadcasts with the same segmentation, the
summation of a segment si at rates T1(si) and
T2(si) is T1(si) + T2(si)
The sum of two broadcasts B1=<C1,M,S,T1> and
B2=<C2,M,S,T2> is a broadcast B1 + B2 =
<C1+C2,M,S,T1+T2>
Partitioning the Channel
Server needs to divide C into sub-channels Ci
C Ci
i 1
Send an independent broadcast Bi=<Ci,M,S,Ti>
on each channel
Clients subscribe to a subset of channels
Subscription at level i means client is subscribed to
channels 1 through i
Cumulative Broadcasts
What does a client subscribed at level i receive?
i
B Bj
*
i
j 1
i
i
C , M , S , T
j
j 1
j
j 1
Theorem: The broadcasts Bi are optimal for i =
1 to
*
Our layering of optimal broadcasts results in
cumulative broadcasts that are also optimal
Server Rate Assignment
The “Quantization” Problem
Server has a distribution, f(x), of client preferred rates
whose domain is continuous
Server must transmit on a set of channels of discrete
rates
Problem is analogous to scalar quantization
Partition domain of preferred rates to a set
S={S1,S2,…,S}
The values of x in Sk are mapped to the value xk – the
server supported rate
Distortion measure d(x,xk) used to calculate average
distortion:
Sk
AVG
d x, xk f ( x)dx
Sk
Rate Assignment Criteria
*
C
Client with preferred rate r subscribes at rate i r
*
Client expects delay WMIN(r) but receives delay WMIN Ci
We know WMIN is a monotonic function of bandwidth,
therefore:
WMIN r WMIN Ci*
We need to make this increase in waiting as acceptable
as possible. Three criteria:
Minimize average absolute increase
Minimize average relative increase
Minimize worst case increase
Minimizing Average Increase in Delay
Use the following distortion function:
d r, Ci* WMIN Ci* WMIN r
and the following intervals:
Sk Ck* , Ck*1 , for k 1 to
We can now solve for the minimum value of CAVG
C AVG Sk
k 1
AVG
Minimizing Relative Increase in Delay
Minimizing the average increase penalizes clients with
high download rates
E.g., a client with an increase from 30 sec to 90 sec is
treated the same as a client with an increase from 10 to
11 minutes
We can use a normalize distortion function instead:
*
i
d r, C
WMIN Ci* WMIN r
WMIN r
Now, we either minimize CAVG for minimal average
increase or the following for minimal worst case
increase in delay:
CMAX max d r, Ck* max d Ck*1 , Ck*
rSk
rSk
Minimizing Worst Case Delay
To minimize the worst case increase in delay, CMAX, we
minimize the following:
max W C W C
CMAX max WMIN Ck* WMIN r
rSk
rSk
MIN
*
k
MIN
*
k 1
Independent of client rate distribution
Solutions for Harmonic Broadcasting
Authors provide some closed form solutions for harmonic
broadcasting where the client distributions are uniform
Ck*1
e Ck* 1 e Ck* e Ck*1
*
Ck
*
C
e k 1 1
Minimal average increase:
*
Minimal maximum increase: CMAX
1 1
1
e C 1 e C 1
1
Minimal relative
maximal increase:
C
*
MAX
e C 1
C
1
e 1
Example Using Harmonic Broadcasting
Consider a 60 minute movie played out at 1 mbps and to be
transmitted over 4 layers with |C| = 10 mbps. The various
optimization criteria give us the following rates and delays:
Subscription Levels (rate, delay)
Minimum Average
Increase
2.0 mbps,
564 sec
2.6 mbps,
276 sec
3.6 mbps,
100 sec
5.3 mbps
18 sec
Maximum Relative
Increase
2.0 mbps,
564 sec
3.9 mbps,
73 sec
5.9 mbps,
9.7 sec
8 mbps,
1.3 sec
Maximum Absolute
Increase
2.0 mbps,
564 sec
2.2 mbps,
423 sec
2.6 mbps,
282 sec
3.3 mbps,
141 sec
Progressive Pruning
Stale Bandwidth
There is one major drawback from using PET:
We are able to recover the earlier segments of a
broadcast before the later segments
BUT, we continue the receive these segments after
we’ve recovered them
To deal with this, we:
Divide each channel into sub-channels
Divide the segmented movie into contiguous chapters
Clients unsubscribe from sub-channels as their content
becomes stale
We employ a technique called Progressive Pruning
The Progressive Pruning Problem
Broadcast B=<C,M,S,T> is layered over broadcasts: B1, B2, …
, B
There are a total of channels available, > , to be allocated as
sub-channels over the various broadcasts
We want to minimize extra symbols received, , over all the
clients:
= # symbols received - # symbols in movie
We can divide this into two sub-problems:
1. Find an optimal way to split M into j chapters such that is
minimized in each Bi
2. Optimally allocate the channels over the broadcasts Bi to
minimize average for clients subscribed at each level
A Mincost Partition
An (n,k)-partition is a partition of [1..n] into k intervals
Cost function that assigns costs to each partition:
= {1, 2, … , k}
We define a mincost(n,k)-partition as K(n,k,) =
{P1, P2, … , Pk} as a partition that minimizes:
K (n, k , ) min i 1 i Pi
k
Authors provide a dynamic programming based algorithm
to solve this optimization
Solving for Layered Broadcast
Each of the two sub-problems can be expressed as a mincost
partition problem
Authors provide formal definition of subproblems and the cost
functions that can be used to solve the system and determine
sub-channel assignments
E.g. Consider the 1 hour, 1 Mbps, 4 layer movie discussed earlier
Without pruning, 5 times reception overhead on average
By solving for 7 channels:
Channel
Channel
Channel
Channel
1
2
3
4
gets
gets
gets
gets
2
1
2
2
channels: 22 minutes, 38 minutes
channel: 60 minutes
channels: 10 minutes, 50 minutes
channels: 5 minutes, 55 minutes
Performance
Performance Analysis
Authors provide quantitative analysis of movie with
100,000 symbols and 100 segments
Movie is broadcast using harmonic broadcasting with
layered PET
Assume uniform distribution of client reception
bandwidth over interval [|C|, |C|] where 0 < < 1
Distortion Performance with Layering
Reception Overhead with Pruning
Channels
Summary
Conclusions
Use of a single broadcast channels imposes
uniform bandwidth requirements on clients
Using Priority Encoded Transmission to layer a
broadcast over multiple channels allows us to
support heterogeneous receivers
Clients subscribe to the subset that best matches
their bandwidth goals
Server must support a discrete set of rates so
clients actual wait times are distorted
We can use sub-channels and pruning to reduce
redundant reception
References
1.
Albanese, J. Bloemer, J. Edmonds, M. Luby. Priorit
Encoding Transmission, ICSI report, TR94 -039 (1994),
35 p.
2.
L. Engebretsen and M. Sudan. Harmonic Broadcasting is
Optimal, Proc. off the 13-th Annual ACM-SIAM
Symposium on Discrete Algorithms (SODA), 2002.
3.
R. Janakiraman and L. Xu, "Layered Priority Encoded
Transmission for Video Streaming to Heterogeneous
Receivers," Proc. 2004 IEEE Int'l Symp. on Inf. Theory,
July 2004. (To appear)
© Copyright 2026 Paperzz