ChouR00 - Microsoft Research

advertisement
Clustering of Source/Channel Rate
Allocations for Receiver-driven Multicast
under a Limited Number of Streams
Philip A. Chou, Microsoft Research
Kannan Ramchandran, UC Berkeley
Distribution
over channels
Clustering
Receivers
Space of
associated
channels
source
parity
1
2
…
M
• Questions to be answered:
– How large should M be to serve “most” receivers well?
– How can we design the collection of M streams?
– How can a receiver decide which of the M streams to use?
• We will assume streams are all at the same bitrate.
• Redundancy is provided by FEC.
parity
100Kbps
source
parity
source
100Kbps
source
100Kbps
parity
100Kbps
source
Existing FEC Systems
K
N
for more reliable channels
for less reliable channels
• Commercial systems (e.g., Windows Media) use
systematic Reed-Solomon code to produce N-K
parity packets for every K source packets
• The parameters (N,K) are chosen to match the
packet loss characteristics for the channel
Existing FEC Systems
parity
100Kbps
source
parity
K1
100Kbps
source
100Kbps
parity
source
100Kbps
K2
K3
N
• Priority Encoding Transmission (PET, Albanese et
al., 1996) is similar, but it allows K to change
across source layers with different importance.
...
GOF
GOF
K1 bytes
1 ... K1
N bytes
...
K1 bytes
1 ... K1
...
Ki bytes
1
...
Ki
...
N
Ki bytes
1
...
Ki
...
N
KN bytes
1
...
KN ... N
KN bytes
1
...
KN ... N
N
N
...
R1
layer 1
R0
GOF
PET
packetization
time
...
...
Ri-1
...
layer i
Ri
...
RN-1
...
layer N
RN
Packet N
Packet 1
unused
• Property: recover layer i iff
receive ≥ Ki packets (out of N)
• Albanese et al. (1996) use 3
layers (I,P,B), don’t optimize
• Davis & Danskin (1996)
optimize Ki s for any number of
layers for minimum distortion
• Mohr, Riskin, & Ladner (1999)
assume fine grain scalability
(e.g., SPIHT) and adjust
breakpoints using greedy search
• Puri & Ramchandran (1999)
optimize breakpoints using
O(N) algorithm
Optimal Stream for a Known Channel
• Wolog assume N layers, layer i =1,…,N coded with Ki=i.
• Let R=(R0,R1,…,RN) be breakpoint vector, where R0 ≡ 0 and
R1,…,RN index the last byte in layers 1,…,N respectively.
• Let D(R0), D(R1), …, D(RN) be the corresponding vector of
distortions if R0, R1,…, RN source bytes are recovered.
D(R0)
Operational
D(R) function
D(R1)
D(RN)
R0
R1
RN
R
• Let q=(q0,q1,…,qN) be probability mass vector, where
qk=Pr{1st k of N layers recovered}=Pr{k of N packets received}.
• The effect of any stationary packet erasure channel on the
receiver’s expected distortion is through q=(q0,q1,…,qN).
Expected Distortion and Rate
• Expected Distortion is
N
D(R ) =  qk D( Rk ) = (q0 ,, q N )  ( D( R0 ), , D( RN ))
k =0
• Transmission rate (bytes per GOF) is
N
N
k =1
k =1
R(R ) =  N ( Rk  Rk 1 ) / k =  α k Rk
where ak=N/(k(k+1)) for k=1,…,N-1 and aN=1.
• Finding R=(R0,R1,…,RN) that minimizes D(R) s.t. R(R) ≤ R*
can be found by minimizing D(R)+lR(R) for some l>0
using the O(N) algorithm of Puri & Ramchandran.
Optimal Stream
for a Collection of Channels
• Let {qq} be a collection
n
of channels indexed by
q L over which there
L
q
is a distribution n.
• Expected distortion of PET packetization R for channel qq is
N
Dθ (R ) =  qθ ,k D( Rk )
k =0
• Overall expected distortion (w.r.t. n) is
N
N
D(R ) =  Dθ (R )dν(θ ) =   qθ ,k dν(θ ) D( Rk ) =  qk D( Rk )

k = 0 
k =0
qk
• Hence to min D(R) s.t. R(R) ≤ R*, find q=∫qq and use P&R.
Multiple Optimal Streams
for a Collection of Channels
• Start with M streams with PET
n
packetizations R1,…,RM.
• Let m(q) be stream number
2
1
L
to which receiver with
M
…
channel qq should subscribe.
• Optimal m(q) (minimizing overall expected distortion) is
m(q) = argminm Dq(Rm) = argminm ∑ qq,kD(Rm,k),
which induces partition cells Lm={q:m(q)=m}.
• Optimal PET packetization Rm for cell Lm is
R m = arg min R  Dθ (R )dν(θ )
Lm
which can be solved by the Puri-Ramchandran algorithm.
• Repeat.
Simulation Setup
• We simulate collection of
iid packet erasure channels
qθ ,k =
 (1  θ) θ
N
k
k
N k
, θ [0,1]
with N=40, q ~ Beta(1,b),
mean m=1/(1+b)=.10,.15,.20.
• We assume D(R)=A2-2cR,
R = #bytes per GOF, R*=7/c.
• Find clusters with M=1,2,4,8,16,32.
Beta(1,1/m-1)
distribution
Simulation Results
Conclusion
• We have presented a clustering algorithm that
finds the set of M streams having source/channel
rate allocations (PET packetizations) that
optimally covers the space of packet erasure
channels under an arbitrary distribution
– “nearest neighbor” performed by N-dim dot product
– “centroid” is performed by O(N) algorithm
• For typical (?) distribution of channels, 4 streams
can gain 4 out of a possible 5 dB (i.e., loses only
1 dB compared to an infinite number of streams).
Download