View
221
Download
2
Tags:
Embed Size (px)
Citation preview
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.
The Sample Transmission Plan
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
K
i
K
i
k
iii
k
i
YiXiandKkfor
YXifYX
11
1][][
1
1,...,1
, ),(
Example: Jurassic Park
The peak-rate curve p(x)
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
Late
kk
As Late As Possible
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=0min{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-1Early
kkEarly
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 inx’(w) = max{S -Dk}, w≧w*
early’
k
late’
k
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 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).
in
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.