Presentation is loading. Please wait.

Presentation is loading. Please wait.

Video Streaming to Heterogeneous Receivers

Similar presentations


Presentation on theme: "Video Streaming to Heterogeneous Receivers"— Presentation transcript:

1 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 IEEE Int'l Symp. on Inf. Theory, July (To appear)

2 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

3 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

4 Outline Broadcasting Basics
Priority Encoding Transmission Architecture Layered Broadcasting Server Transmission Rate Assignment Progressive Pruning System Performance Conclusion

5 Broadcasting Basics

6 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

7 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: for all i. The broadcast is optimal at equality.

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

9 Priority Encoding Transmission

10 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

11 PET Fundamentals For a message of m words divided into k blocks, a PET system generates n packets of length l. The user specifies m, k, and l. The user supplies a priority function  that maps each of the k blocks to a priority on [0,1).  is monotonically increasing. To recover the first i blocks, the user only needs a fraction (i) of the n encoded packets.

12 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

13 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: We encode each segment si into ni packets where: Create the n packets by taking ni/n from symbols from every ni packets generated for each segment without replacement

14 Layered PET

15 Layered Broadcasting Using a single broadcast limits clients to receive at the same rate Unable to support heterogeneous receivers We could partition C into multiple broadcasts of varying bandwidth and have clients subscribe at their desired rate Naïve waste of bandwidth The solution: layer the broadcast cumulatively over multiple channels

16 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>

17 Partitioning the Channel
Server needs to divide C into  sub-channels Ci 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

18 Cumulative Broadcasts
What does a client subscribed at level i receive? Theorem: The broadcasts are optimal for i = 1 to  Our layering of optimal broadcasts results in cumulative broadcasts that are also optimal 

19 Server Rate Assignment

20 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:

21 Rate Assignment Criteria
Client with preferred rate r subscribes at rate Client expects delay WMIN(r) but receives delay We know WMIN is a monotonic function of bandwidth, therefore: 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

22 Minimizing Average Increase in Delay
Use the following distortion function: and the following intervals: We can now solve for the minimum value of CAVG

23 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: Now, we either minimize CAVG for minimal average increase or the following for minimal worst case increase in delay:

24 Minimizing Worst Case Delay
To minimize the worst case increase in delay, CMAX, we minimize the following: Independent of client rate distribution

25 Solutions for Harmonic Broadcasting
Authors provide some closed form solutions for harmonic broadcasting where the client distributions are uniform Minimal average increase: Minimal maximum increase: Minimal relative maximal increase:

26 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 3.9 mbps, 73 sec 5.9 mbps, 9.7 sec 8 mbps, 1.3 sec Maximum Absolute Increase 2.2 mbps, 423 sec 282 sec 3.3 mbps, 141 sec

27 Progressive Pruning

28 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

29 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

30 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: Authors provide a dynamic programming based algorithm to solve this optimization

31 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 1 gets 2 channels: 22 minutes, 38 minutes Channel 2 gets 1 channel: 60 minutes Channel 3 gets 2 channels: 10 minutes, 50 minutes Channel 4 gets 2 channels: 5 minutes, 55 minutes

32 Performance

33 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

34 Distortion Performance with Layering

35 Reception Overhead with Pruning Channels

36 Summary

37 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

38 References Albanese, J. Bloemer, J. Edmonds, M. Luby. Priorit Encoding Transmission, ICSI report, TR (1994), 35 p. L. Engebretsen and M. Sudan. Harmonic Broadcasting is Optimal, Proc. off the 13-th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), 2002. R. Janakiraman and L. Xu, "Layered Priority Encoded Transmission for Video Streaming to Heterogeneous Receivers," Proc IEEE Int'l Symp. on Inf. Theory, July (To appear)


Download ppt "Video Streaming to Heterogeneous Receivers"

Similar presentations


Ads by Google