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).