Download presentation
Presentation is loading. Please wait.
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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.