Scalable Video Coding: Techniques and Applications for Adaptive Streaming

Scalable Video Coding: Techniques and Applications for Adaptive Streaming

Hermann Hellwagner (Klagenfurt University, Austria), Ingo Kofler (Klagenfurt University, Austria), Michael Eberhard (Klagenfurt University, Austria), Robert Kuschnig (Klagenfurt University, Austria), Michael Ransburg (Klagenfurt University, Austria) and Michael Sablatschan (Klagenfurt University, Austria)
DOI: 10.4018/978-1-61692-831-5.ch001
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

This chapter covers the topic of making use of scalable video content in streaming frameworks and applications. Specifically, the recent standard H.264/SVC, i.e., the scalable extension of the widely used H.264/AVC coding scheme, and its deployment for adaptive streaming, the combined activities of content adaptation and streaming, are considered. H.264/SVC is regarded as a promising candidate to enable applications to cope with bandwidth variations in networks and heterogeneous usage environments, mainly diverse end device capabilities and constraints. The relevant coding and transport principles of H.264/SVC are reviewed first. Subsequently, a general overview of H.264/SVC applications is given. The chapter then focuses on presenting architectural/implementation options and applications of H.264/SVC for adaptive streaming, emphasizing the aspect of where, i.e., on which network node and on which layer in the networking stack, in the video delivery path the content adaptation can take place; also, methods of content adaptation are covered. This pragmatic perspective is seen as complementing more general discussions of scalable video adaptation issues in the existing literature.
Chapter Preview
Top

Introduction

Packet-switched, best-effort, mostly IP-based networks and the growing diversity of end devices represent significant challenges for video streaming. Such networks are subject to changing network conditions, specifically bandwidth variations, and non-negligible data losses, particularly when wireless networks are involved; end devices have widely different capabilities and constraints, e.g., computational power and display size. The major challenge is to deliver a video stream to potentially many users in the best quality possible for each user, irrespective of the networks being traversed and the devices being deployed.

Scalable Video Coding (SVC) and the use of SVC bit streams have been investigated as promising approaches to cope with these challenges. SVC has the potential to enable applications to adapt a video bit stream before or during streaming to the current network conditions and device characteristics. In this chapter, we refer to the combined tasks of streaming and adapting video content as adaptive streaming. There are stringent requirements on a scalable coding scheme and an adaptive streaming framework, including: support for low-complexity decoding; minimal real-time processing effort for adaptation/rate control; adaptability to unpredictable, potentially highly varying network conditions; support for unicast and multicast transmissions; and error resilience to data losses (Pesquet-Popescu, Li, & van der Schaar, 2007).

Driven by these requirements, scalable video coding has been devoted intense research efforts for many years. Several SVC schemes have been proposed. These include scalable extensions of the video coding standards H.263 and MPEG-2, fine-grain scalable (FGS) coding in the MPEG-4 Visual coding standard, and motion-compensated wavelet video coding structures (Pesquet-Popescu, Li, & van der Schaar, 2007). In many cases, the integration of scalability modes came at the cost of significant coding inefficiency. As a consequence, these SVC approaches were not widely adopted in practical applications.

Yet, there has been considerable effort by the standardization communities in recent years to lay the basis for a more successful SVC scheme. The result is the Scalable Video Coding (SVC) extension of the widely adopted H.264/AVC standard (ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding (Version 4), 2005), developed by the Joint Video Team (JVT) of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) and completed in late 2007. In this chapter, we refer to this new standard as H.264/SVC; it is documented in (ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding / Amd. 3, 2007). The main design goals of the scalable extension were to provide scalability with coding efficiency and decoding complexity similar to single-layer coding, support of simple bit stream adaptation mechanisms, and an H.264/AVC backward compatible base layer. These goals were largely achieved and, at the time of writing, initial industrial applications are emerging.

Thus, this chapter will focus on two aspects. First, it will concentrate on the H.264/SVC coding scheme since this can currently be regarded as the most promising enabling technology for packet video transmission in heterogeneous, dynamically varying networking and media consumption environments. For other scalable video coding methods, the reader is referred to the literature pointed to in the sections on related work and additional reading. Second, a focus will be on the most interesting facet enabled by SVC, adaptive streaming of H.264/SVC content. More specifically, architectural options for adaptive streaming and application examples will be reviewed, mainly under the aspects of on which node in the delivery chain (on the server, client, or a mid-network device) and on which layer in the networking stack (on the application, transport, or network layer, if applicable) the content adaptation takes place. This discussion is seen as the major contribution of this chapter; many other issues of SVC adaptation have already been addressed in the literature, as will be briefly reviewed in the chapter. For related problems like rate control algorithms, the reader again is referred to the literature.

Complete Chapter List

Search this Book:
Reset