290 likes | 439 Views
Smoothing Variable-Bit-Rate Video in an Internetwork. Jennifer Rexford, Member, IEEE, and Don Towsley, Fellow, IEEE IEEE/ACM Transactions on Networking, Vol. 7, No.2, April 1999. Introduction.
E N D
Smoothing Variable-Bit-Rate Video in an Internetwork Jennifer Rexford, Member, IEEE, and Don Towsley, Fellow, IEEE IEEE/ACM Transactions on Networking, Vol. 7, No.2, April 1999
Introduction • To reduce the end-to-end resource requirements, a stored-video server can smooth the outgoing stream through work-ahead transmission into the client playback buffer. • An efficient algorithm is presented for minimizing both the playback delay and the buffer allocation.
Smoothing Constraints • x: bytes of the playback buffer • Lk: the amount of data consumed at the client by time k • Uk = Lk+x • L = (L0,…,LN) • U = (U0,…,UN) • S = (S0,…,SN) • R(S) = (S1-S0,…,SN-SN-1)
Change Point • Change point: If Rk+1≠Rk, then k is said to be a change point in the vector S. • Convex change point: If Rk+1>Rk • Concave change point: If Rk+1<Rk
Majorization Schedule • Vector Y majorizes X ;intuitively, the elements of vector X are more “evenly distributed” than the elements of Y
Single-Link Model • Arrival vector A=(A0,…,AN) • Ak: The amount of data which has arrived at the ingress node by time k=0,1,…,N. • Ak ≧ Ak-1, k=1,…,N. • Playout vector D=(D0,…,DN) • Dk: The amount of data that must be removed from the x-bit egress buffer by time k=0,1,…,N. • Dk ≧ Dk-1, k=1,…,N.
Single-Link Model • D ≦ S ≦ D+vec(x) • A-vec(M-x) ≦ S ≦ A • S*(A, D, (M-x, x)) denote the majorization schedule.
Buffer Allocation • The smoothing constraints : • L1(x) = A + vec(x-M) • U1(x) = D + vec(x) • L2(x) = D • U2(x) = A • S*(x) is the majorization schedule associated with S(max{L1(x), L2(x)}, min{U1(x), U2(x)}, (M-x,x)).
Buffer Allocation • Lemma 3.1: The peak rate p(x, M) of the single-link system is a piecewise-linear, convex function. • The main consequence of the lemma is that the peak-rate curve has one of the shapes shown in Fig. 4. • A binary search is sufficient to determine a value of x that minimizes p(x, M) for a given value of M.
Simpler case • Now consider the simpler case of stored video, where Ai=AN for k=0,1,…,N and the ingress buffer is large enough to store the entire video(I.e, AN bits). • The peak bandwidth decreases as the egress buffer size x increase. • U rises as x increases, causing a gradual decrease in the slope of the peak rate run.
Example A
Start Up Delay • A video service can minimize the bandwidth requirements by introducing a start up latency of w at the egress node. • Dk(w) = 0, k=0,…,w-1 Dk-w, k=w,…,N+w • Ak(w) = Ak, k=0,…,N AN, k=N+1,…,N+w • wmax ≡ min{w|max{Ak(w)-Dk(w)}≧M} 0≦k≦N+w
Start Up Delay • The smoothing constraints: • L1(w) = D(w) • U1(w) = D(w) + vec(x) • L2(w) = A + vec(x - M) • U2(w) = A (should exchange??) • Lemma 3.2: The peak rate, p(w), of the single link system is a piecewise-linear convex function of w.
Practical Constraints • To account for a constant propagation delay of d time units, the playout curve D should be shifted to the left by d units, to ensure that each frame arrives at the egress node by its deadline. • Delay jitter can be handled by making the smoothing constraints more conservative, based on the minimum and maximum number of bits that may arrive at any time.
Joint Minimization of Start Up Delay and Egress/Ingress Buffer Size • For stored video with an ingress buffer of size y≧DN, the smoothing constraints simplify to L(x,w)=D(w) and U(x,w) = D(w)+vec(x) • As late as possible: • S = DN, k=N max{S - r, Dk} k<N • x* = max{S - Dk} • w* = min{w|Ak– S ≧0} Late k Late K+1 Late k k Late k
Joint Minimization of Start Up Delay and Egress/Ingress Buffer Size • Because x and w are independent, this process jointly minimizes both x and w. • As early as possible: • S = 0, k=0 min{S +r, Ak}, k>0 • y* = max{Ak-S } • w* = min{w|S -Dk-w≧0} • After determining the values for x, y, and w, the majorization algorithm can compute the optimally smooth transmission schedule. Early k Early K-1 Early k k Early k
Joint Minimization of Start Up Delay and Total Buffer Allocation • While x* was determined from Slate subject to L(x,w) = D(x), the ingress buffer size y’ can be found by generating Searly’ subject to U = min{D(w) + vec(x*),A}. Consequently, y’(w) = max{Ak-S }, w≧w* • Similarly, x’ can be determined from Slate’ subject to L = max{D(w), A - vec(y*)}, resulting in x’(w) = max{S -Dk}, w≧w* early’ k k late’ k k
Theorem 4.1 • Given a rate constraint r, an arrival vector A, a playout vector D, and a startup latency w≧w*, the total buffer size size M(w) is minimized by allocating an egress buffer of size x* and an ingress buffer of size y’(w). Similarly, M(w) is minimized by allocating an egress buffer of size x’(w) and an ingress buffer of size y*. Selecting w=w* results in the minimum total buffer M*(w*)=x*+y’(w*)=x’(w*)+y*.
Theorem 4.2 • Given a rate constraint r and A≡D, x* = y* = x’(w*) = y’(w*) and M*(w*) = 2x* = 2y*. • The theorem shows that when the ingress node receives an unsmoothed version of the video stream, the optimal buffer allocation divides the resources evenly between the ingress and egress nodes.
Tandem Model • It is possible to compute an optimal tandem schedule by applying the majorization algorithm on a collection of independent single-link problems.
Optimization n • The optimal single-link solutions {S*}i=1 are also the optimal link transmission schedules for the tandem system. • The optimal buffer allocation problem can be reduced to a single-link system with buffers at the ingress and egress nodes, such as b’ = (M-x,0,…,0,x). i
Buffer Allocation From upper left to lower right, the curves correspond to M = W, 1.25W, 1.5W, 2W, 3W.
Start Up Latency Each peak-rate curve corresponds to a different value of M with an optimal buffer distribution of x = y = M/2.
Optimal Start Up Delay The solid line corresponds to M = 2W
Conclusion • A simple binary search can determine the buffer allocation and start up latency that minimize the peak rate in the transmission schedule. • The smoothing model has been applied to the online smoothing problem, where the ingress node does not have a prior knowledge of frame sizes.