A More Loss-Tolerant RTP Payload Format for MP3 Audio

RFC 3119 describes a new RTP payload format for MPEG 1 or 2, layer III audio (i.e., "MP3"). This format is more resilient to packet loss than the format described in RFC 2250. Following the principle of "Application Layer Framing", packet boundaries in this new format correspond to MP3 "Application Data Units" ("ADUs"), which - unlike in layer I or II - are not aligned on MPEG frame boundaries.

The following MP3 files - taken from a 4-second music clip - illustrate the effect of this new payload format. Here is the original MP3 data:

Frame loss

The following files show the effect of random (Poisson) 10% frame loss applied to this same data. Note the audio artifacts. These are a consequence of the fact that the data loss has not occurred on ADU boundaries; this causes garbage data to be fed to the MP3 decoder.

The following files show the effect of the same loss pattern, but applied to "ADUs" rather than to frames. More precisely, the original sequence of MP3 frames is first converted to a corresponding sequence of ADUs (as described in the Internet Draft), the loss pattern is applied to this sequence of ADUs, and finally the resulting ADUs are reassembled into a sequence of frames. The lost data, although still noticeable, does not contains the audio artifacts of the previous example. In this case, data loss always occurs on an ADU boundary, so the MP3 decoder never receives garbage data.

Packet loss

In the next set of examples, we assume that each packet contains more than one frame (or ADU), and that the random (Poisson) 10% loss is applied to entire packets rather than to individual frames/ADUs. Assuming a typical packet size of 1000-1500 bytes, we allocate 10 frames/ADUs-per-packet for the 24 kbps data and 3 frames/ADUs-per-packet for the 128 kbps data.

The following files show the effect of random (Poisson) 10% packet loss applied to the original MP3 data, where each packet contains multiple MP3 frames (as in RFC 2250). Once again, we hear audio artifacts, because data loss has not occurred on ADU boundaries.

The following files show the effect of the same loss pattern, but applied to packets that contain "ADUs" rather than frames. In this case, data loss always occurs on an ADU boundary.

Finally, we can apply an interleaving pattern to the sequence of ADUs, so that consecutive ADUs are allocated to different packets. This mitigates the effect of packet loss even more, because the effect of a single lost packet is spread out over time.

(In these examples, the following interleaving cycle (of size 32) is used: 0 16 8 24 4 20 12 28 2 18 6 22 10 26 14 30 1 17 3 19 5 21 7 23 9 25 11 27 13 29 15 31)


The original audio clips are copyright Scheller's Science Site, used by permission.
LIVE555.COM