120 likes | 238 Views
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 associatedchannels. Questions to be answered:
E N D
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 ClusteringReceivers Space of associatedchannels • 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. source parity 1 2 … M
Existing FEC Systems 100Kbps 100Kbps 100Kbps 100Kbps • 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 source source parity source parity source parity K N for more reliable channels for less reliable channels
Existing FEC Systems 100Kbps 100Kbps 100Kbps 100Kbps • Priority Encoding Transmission (PET, Albanese et al., 1996) is similar, but it allows K to change across source layers with different importance. K1 parity parity parity source source source K2 K3 N
PET packetization • Property: recover layer i iffreceive ≥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. • Let q=(q0,q1,…,qN) be probability mass vector, whereqk=Pr{1stk 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). D(R0) OperationalD(R) function D(R1) D(RN) R R0 R1 RN
Expected Distortion and Rate • Expected Distortion is • Transmission rate (bytes per GOF) is 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 collectionof channels indexed byq Є L over which thereis a distribution n. • Expected distortion of PET packetization R for channel qq is • Overall expected distortion (w.r.t. n) is • Hence to min D(R) s.t. R(R) ≤R*, find q=∫qq and use P&R. n L q
Multiple Optimal Streamsfor a Collection of Channels • Start with M streams with PETpacketizations R1,…,RM. • Let m(q) be stream numberto which receiver withchannel qq should subscribe. • Optimal m(q) (minimizing overall expected distortion) is m(q) = argminmDq(Rm) = argminm∑ qq,kD(Rm,k), which induces partition cells Lm={q:m(q)=m}. • Optimal PET packetization Rm for cell Lm is which can be solved by the Puri-Ramchandran algorithm. • Repeat. n 2 1 L M …
Simulation Setup • We simulate collection ofiid packet erasure channelswith 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
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).