  While every network node only relays messages in a traditional communication
system, the recent network coding (NC) paradigm proposes to implement simple
in-network processing with packet combinations in the nodes. NC extends the
concept of "encoding" a message beyond source coding (for compression) and
channel coding (for protection against errors and losses). It has been shown to
increase network throughput compared to traditional networks implementation, to
reduce delay and to provide robustness to transmission errors and network
dynamics. These features are so appealing for multimedia applications that they
have spurred a large research effort towards the development of
multimedia-specific NC techniques. This paper reviews the recent work in NC for
multimedia applications and focuses on the techniques that fill the gap between
NC theory and practical applications. It outlines the benefits of NC and
presents the open challenges in this area. The paper initially focuses on
multimedia-specific aspects of network coding, in particular delay, in-network
error control, and media-specific error control. These aspects permit to handle
varying network conditions as well as client heterogeneity, which are critical
to the design and deployment of multimedia systems. After introducing these
general concepts, the paper reviews in detail two applications that lend
themselves naturally to NC via the cooperation and broadcast models, namely
peer-to-peer multimedia streaming and wireless networking.
