Information Technology Reference
In-Depth Information
(b) The maximum lag in decoding, T
L
, and maximum advance in decoding, T
E
, are defined
as:
T
L
=
max
{
T
DV
(
i
)
|∀
i
≥
0
}
(10.6)
T
E
=
min
{
T
DV
(
i
)
|∀
i
≥
0
}
(10.7)
(c) The peak-to-peak decoding-time deviation is defined as
T
DV
=
T
L
−
T
E
(10.8)
Assume the bounds
T
L
and
T
E
are known, the time between the consumption of two video
blocks
i
and
j
(
j
>
i
) will be bounded by
max
{
((
j
−
i
)
T
avg
−
T
DV
)
,
0
}≤
t
≤
((
j
−
i
)
T
avg
+
T
DV
)
(10.9)
We use buffers at the client to absorb these variations to prevent buffer underflow and buffer
overflow during playback. Let there be
L
C
=
Z
) buffers (each
Q
bytes) at the client,
organized as a circular buffer. The client starts video playback once the first
Y
buffers are
completely filled with video data. We prefill buffers before playback to avoid buffer underflow,
and reserve the last
Z
buffers for incoming data to avoid buffer overflow.
(
Y
+
10.3.3 Buffer Needed to Prevent Underflow
Since all
N
S
servers transmit data to a client concurrently, the client will be receiving
N
S
video blocks simultaneously. Hence
Y
must be multiples of
N
S
. We let
y
Y
/
N
S
and consider
groups of
N
S
buffers in the follow derivations (i.e., group zero consists of blocks 0 to
N
S
−
=
1,
group one consists of blocks
N
S
to 2
N
S
−
1, and so on.).
Among the
N
S
servers, let the earliest transmission for the first round start at time
t
0
, then
the last transmission for the first round must start at time
t
0
+
δ
. Therefore, the time for video
block group
i
to be completely filled, denoted by
F
(
i
), is bounded by
f
−
)
f
+
)
((
i
+
1)
T
F
+
t
0
+
≤
F
(
i
)
≤
((
i
+
1)
T
F
+
t
0
+
δ
+
(10.10)
where
f
+
(
f
+
≥
0) and
f
−
(
f
−
≤
0) are used to model the maximum transmission time devi-
ation due to randomness in the system, including transmission rate deviation, CPU scheduling,
bus contention, etc.
Since the client starts playing the video after filling the first
y
groups of buffers, the playback
time for video block group 0 is simply
F
(
y
−
1). From Section 10.3.2, setting
T
0
=
F
(
y
−
1)
then the playback time for video block group
i
, denoted by
P
(
i
), is bounded by
{
iN
s
T
avg
+
F
(
y
−
1)
+
T
E
}≤
P
(
i
)
≤{
iN
s
T
avg
+
F
(
y
−
1)
+
T
L
}
(10.11)
To guarantee video playback continuity, we must ensure that a video block group arrives
before playback deadline. In the worst-case scenario, the latest filling time must be smaller
than the earliest playback time, i.e.
max
{
F
(
i
)
}
<
min
{
P
(
i
)
}
(10.12)
Search WWH ::
Custom Search