Multiple Description Coding using Forward Error Correction Codes

Multiple Description (MD) source coding has recently emerged as an attractive framework for robust transmission over channels with transient shutdown characteristics. Examples of such channels are found in best-effort heterogeneous packet networks such as the Internet, where congestion and routing delays can lead to ``holes'' in the transmitted data stream corresponding to lost packets, or wireless systems during a deep fade. In the current deployment of the Internet, switches in the network are typically oblivious to the content of the packets that they process and switch. They provide only a simple first-in-first-out (FIFO) queuing/scheduling policy, and indiscriminately discard incoming packets when output queues are full. On the other hand typical image/video bitstreams are highly structured (There is a strong push in the evolving next-generation image compression standard, JPEG-2000, to support scalability in order to support a wide range of bit rates corresponding to available user bandwidths.), i.e., characterized by a natural hierarchy of importance layers or resolutions. The reconstructed quality for such hierarchical bitstreams depends on which layers are received. This therefore underlines the need for an efficient mechanism that converts a scalable, prioritized bitstream into a non-prioritized one so that is is better ``matched'' to the existing infrastructure.

The basic idea in MD coding is to generate multiple independent descriptions of the source such that each description independently describes the source with a certain fidelity, and when more than one description is available, they can be synergistically combined to enhance the quality. The generalized ('n'-channel) MD system can be informally characterized as a system that guarantees a hierarchy of delivered signal quality levels depending on how many descriptions 'k' less than equal to 'n' are correctly received as opposed to a traditional multiresolution (MR) system for which the quality delivered depends which 'k' out of 'n' layers are received. Although the MD literature is dominated by the n=2 case, in this work we focus on the regime of n>2, a case which is gaining importance because of an emerging application: robust transmission of compressed data over IP networks. Packets transmitted over IP networks are limited in size (e.g. 1460 bytes for Ethernet) and most practical applications would need more than two packets for transmission and hence the usefulness of the n>2 case.

As the motivation for MD coding has been from a source coding viewpoint, most of the prior work on MD coding has been restricted to ``signal processing'' (SP) based attacks. Examples include methods based on quantization (such as MD scalar quantizers (MDSQ), transforms (MD Transform Coding (MDTC) etc. Currently available MD coders however are mostly limited to the generation of two descriptions. In this work, we propose a mechanism to transform a scalable source bit stream into a robust MD packet stream by encoding source ``layers'' of decreasing importance with progressively weaker forward error correction (FEC) channel codes. Given the channel state and the transmission rate constraint, the question of how much protection to assign to each layer so as to maximize the expected quality at the receiver needs to be answered and in this work we propose a nearly optimal solution to this problem. A block diagram of the packetization scheme follows. The top stream corresponds to a multiresolution bit stream whose different layers have been shaded differently. The data portions below the solid blue line correspond to channel codes.




A Block Diagram of the Packetization Scheme