Information Technology Reference
In-Depth Information
2.5 Video Streaming
Video applications are among the most important services. As such, re-
searchers have exerted a great deal of effort in the past decade so as to achieve
significant progress in providing various kinds of video services (e.g., real-time
live streaming, on-demand viewing, etc.) over the Internet. Due to the consid-
erably intensive resource requirements imposed by video streaming services,
it is widely envisioned that the traditional client-server-based system does
not scale (e.g., to the population size with millions of simultaneous viewers)
and using a P2P approach is inevitable. Indeed, while many commercial efforts
have been launched on the Internet for delivery video or TV services, the server
cost is still prohibitively high, from a profit-making business's standpoint. As a
case in point, it is reported [Huang et al., 2007] that YouTube [YouTube, 2009]
pays in excess of 1 million dollars of bandwidth costs in providing its video-
on-demand service. On the other hand, as users' machines get more and more
powerful and equipped with high speed Internet connections, a P2P video
data delivery model seems much more economical. Indeed, it is found [Lu
et al., 2007b] that a typical ADSL user has more than 1.5 Mbps download
bandwidth and over 384 kbps upload bandwidth. Such communication capa-
bilities are good enough for supporting video services with reasonably good
user experience.
The first critical component in a video streaming service is the multiple
description coding (MDC) system [Goyal, 2001,Akyol et al., 2006,Wang et al.,
2005] for the video contents. Simply put, with a MDC encoder, a video (i.e., a
stream of picture frames) is encoded into several different layers, with different
importance as to restoring the original contents at the viewer's machine. For
example, consider using an MPEG-2 encoder (as in many practical systems).
All the I-frames can be encoded as the first layer, which is of the highest
importance. The first GOP P-frames are then encoded as the second layer.
The second GOP P-frames are similarly encoded as the third layer, and so on.
The B-frames can be encoded as even higher layers, which are relatively less
important in restoring an acceptable video. These different layers can then
be further broken down into equal size chunks (sometimes called description
chunks), which are encapsulated in network packets. The most important im-
plication of using an MDC encoder is that the more packets a node receives,
the higher the quality the video playback will be.
The next critical component in a video streaming system is the engine for
retrieving, storing, and playing back video packets. A generic architecture of
such an engine is shown in Figure 2.3 [Hei et al., 2007b]. Here, the very first
feature of such an engine is the usage of a data structure called the buffer
map. First and foremost, we should note that all the chunks in the original
video packet stream are labeled with unique chunk ID so that each node
can keep track of any missing packets in its playback buffer. Thus, a buffer
Search WWH ::




Custom Search