Information Technology Reference
In-Depth Information
Bit-rate
Bit-rate
r max
r max
Network
r min
t
t
Client Buffer
Transport
Rate
Controller
Encoded
Video
Figure 8.1
Block diagram of the system model
In practice, even with a transcoder, the video bit-rate may not be changed at any arbitrary
time due to the structure of the coding algorithm (e.g., group of pictures). Thus, in the system
model we assume video transcoding is performed in discrete video segments of fixed playback
duration of M seconds. The rate controller will then determine the target bit-rate for the next
video segment based on estimation of the client's buffer occupancy. We denote the average
bit-rate for the k th video segment by r k .
The transcoded video segments are then transmitted to the client using TCP. Note that the
server does not limit the transmission rate here and simply sends the transcoded video data as
fast as TCP will allow. This ensures that available network bandwidth is fully utilized. Here,
we assume that the total size of server buffer in between the media server application and the
network (e.g., the buffer inside the socket library and TCP) is a known constant, denoted by Z .
At the receiver, many existing video players will prefetch a certain amount of video data
before starting playback to absorb the inevitable bandwidth fluctuations. We denote the play-
back duration of the prefetched video data by B p seconds. Depending on the specific player
software, B p can be a fixed value known to the server, or it can be configurable by the users. If
it is the latter case and the existing player software does not report this value to the server, the
server will simply assume the worst case of no prefetch, i.e., B p =
0 second, in performing
rate adaptation.
In the case of client buffer starvation during video playback, it is assumed that playback
will be paused until B p seconds' worth of video data is again buffered at the client as depicted
in Figure 8.2. Let G be the video frame rate. After the late arrival of frame i , the playback
is paused and the client will have to rebuffer frames i to ( i
1) before resuming
playback. This rebuffering mechanism is common among commercial video player software
such as Microsoft's Media Player and RealNetworks' Video Player.
+
B p ×
G
8.4 Client Buffer Occupancy and Network Bandwidth Estimation
The objective of the rate adaptation algorithm is to prevent playback starvation caused by client
buffer underflow. To prevent buffer underflow, the server will need to estimate the available net-
work bandwidth as well as the client buffer occupancy, in terms of seconds' worth of video data.
Search WWH ::




Custom Search