rfc-3190

RTP Payload Format for 12-bit DAT Audio and 20- and 24-bit Linear Sampled Audio

K. Kobayashi, A. Ogawa, S. Casner, C. Bormann
date2002-01 streamIETF arearai wgavt statusPROPOSED STANDARD pages17 canonicalhttps://www.rfc-editor.org/rfc/rfc3190 doi10.17487/RFC3190
This document specifies a packetization scheme for encapsulating 12-bit nonlinear, 20-bit linear, and 24-bit linear audio data streams using the Real-time Transport Protocol (RTP). This document also specifies the format of a Session Description Protocol (SDP) parameter to indicate when audio data is preemphasized before sampling. The parameter may be used with other audio payload formats, in particular L16 (16-bit linear). [STANDARDS-TRACK]

Extracted elements (30)

design-rationale §3

A dedicated 12-bit nonlinear payload format (DAT12) was defined rather than upconverting to 16-bit linear (L16) at the RTP sender, because conversion would consume 33% more network bandwidth than necessary.

rtp, realtime

design-rationale §7

A new 'channel-order' parameter was necessary because the existing AIFF-C channel ordering convention does not cover all DV audio channel types; specifically, DV defines a 'woofer' (Wo) frequency-dependent channel that has no AIFF-C counterpart.

rtp, realtime

design-rationale §7

The channel-order parameter uses a <convention>.<order> syntax with a named convention component to allow future channel assignment conventions beyond AIFF-C and DV to be defined without revising the parameter syntax.

rtp, realtime

interoperability-note §7

DV audio stream sample packing into native DV blocks differs from the RTP interleaved channel ordering. Applications must explicitly reshuffle samples; alternatively, native DV audio/video bundled streams may use the payload format defined in RFC 3189 instead.

rtp, realtime

interoperability-note §6

DV video (IEC 61834-4) defines the negative full-scale audio sample value as an error code (800h for 12-bit, 8000h for 16-bit, 80000h for 20-bit). These error codes have no meaning in the RTP payload formats defined here — all possible sample values are valid — requiring translation at DV/RTP boundaries.

rtp, realtime

interoperability-note §6

For 20-bit linear encoding, multiple DV error code values (80000h through 8000Fh) are mapped to 80010h to allow 16-bit systems to play 20-bit audio data by ignoring the four least significant bits. No error code translation is specified for 24-bit linear because that encoding is not in the DV specification.

rtp, realtime

normative-requirement §6 SHOULD

An RTP receiver delivering audio to a DV video system SHOULD translate audio sample values that would be interpreted as DV error codes into the next smaller negative audio value (e.g., 800h→801h for 12-bit, 8000h→8001h for 16-bit, 80000h-8000Fh→80010h for 20-bit).

rtp, realtime

normative-requirement §7 MUST

Applications transmitting DV audio using the payload formats defined in this document MUST reshuffle the samples from native DV block order into the RTP interleaved order specified, to enable interworking between DV and other digital audio systems.

rtp, realtime

normative-requirement §7 MUST

For DV audio streams of 4 or more channels, the channel order MUST be specified out-of-band using the channel-order parameter. This applies to the payload formats defined here and to L16.

rtp, realtime

normative-requirement §7 MUST

For the DV convention with 5 channels only one channel order is allowed (LRLsRsC), but the channel-order parameter MUST be included nonetheless for consistency.

rtp, realtime

normative-requirement §5 SHOULD

If analog preemphasis was applied before the payload data was sampled, the type of preemphasis SHOULD be conveyed with out-of-band signaling using the 'emphasis' parameter.

rtp, realtime

normative-requirement §7 SHOULD

Independent audio channels (e.g., multiple language translations) SHOULD be sent in separate RTP sessions to reduce bandwidth requirements by allowing receivers to tune in to only desired channels.

rtp, realtime

normative-requirement §7 MUST

Samples for all channels belonging to a single sampling instant MUST be contained in the same RTP packet, consistent with the L16 payload format interleaving rule.

rtp, realtime

normative-requirement §7 MUST

The channel-order parameter MUST be consistent with the number of channels specified in the MIME 'channels' parameter or the a=rtpmap SDP attribute.

rtp, realtime

normative-requirement §7 MUST NOT

The channel-order parameter MUST NOT be included for RTP audio streams of 1, 2, or 3 channels where the AIFF-C convention applies implicitly, to maintain backward compatibility.

rtp, realtime

normative-requirement §5 MUST NOT

The emphasis attribute MUST NOT be included in the SDP record if preemphasis was not applied, ensuring backward compatibility with implementations that do not implement preemphasis.

rtp, realtime

normative-requirement §6 SHOULD

When an RTP sender accepts audio samples from a DV video system containing error code values, it SHOULD perform some error concealment algorithm rather than passing the error codes through. The RTP sender MAY treat the error code as a valid sample, but this is likely to cause undesirable audio output.

rtp, realtime

normative-requirement §7 SHOULD NOT

When multi-channel audio data could be sent following the AIFF-C channel convention after simple processing, the alternative channel order SHOULD NOT be defined; instead AIFF-C order SHOULD be employed to maximize interoperability.

rtp, realtime

protocol-element §7

A 'channel-order' parameter specifies sample interleaving order for multi-channel audio streams using syntax 'channel-order=<convention>.<order>'. This document defines only the 'DV' convention with specific channel order strings (e.g., LRLsRs, LRCS, LRCWo for 4-channel).

rtp, realtime

protocol-element §5

An 'emphasis' parameter is defined to signal analog preemphasis applied before sampling. It may be conveyed as a MIME optional parameter or via SDP a=fmtp line. Only one value is defined: '50-15' indicating 50/15 microsecond CD-type preemphasis.

rtp, realtime

protocol-element §3

The 12-bit nonlinear audio payload format is assigned the SDP encoding name 'DAT12'. It is registered as MIME subtype audio/DAT12 with required parameter 'rate' and optional parameters 'channels', 'emphasis', and 'channel-order'.

rtp, realtime

protocol-element §4

The 20-bit and 24-bit linear audio payload formats are assigned encoding names 'L20' and 'L24', respectively, and registered as MIME subtypes audio/L20 and audio/L24. Both require 'rate' and support 'channels', 'emphasis', and 'channel-order' optional parameters.

rtp, realtime

registry §8.1

This document registers MIME subtype audio/DAT12 for 12-bit nonlinear audio. Required parameter: 'rate'. Optional parameters: 'channels' (default 1), 'emphasis' (only '50-15' defined), 'channel-order' (DV convention values).

registry, rtp, realtime

registry §8.2

This document registers MIME subtype audio/L20 for 20-bit linear audio. Required parameter: 'rate'. Optional parameters: 'channels' (default 1), 'emphasis' (only '50-15' defined), 'channel-order' (DV convention values; DV spec only allows mono/stereo for 20-bit).

registry, rtp, realtime

registry §8.3

This document registers MIME subtype audio/L24 for 24-bit linear audio. Required parameter: 'rate'. Optional parameters: 'channels' (default 1), 'emphasis' (only '50-15' defined), 'channel-order' (DV convention values). No DV error code translation is defined for 24-bit.

registry, rtp, realtime

security-consideration §9

A potential denial-of-service threat exists for encodings using compression with non-uniform receiver-end computational load, where an attacker injects pathological datagrams to overload the decoder. This encoding does not exhibit significant non-uniformity, mitigating that threat.

security, rtp, realtime

security-consideration §9

A receiver may be overloaded by receipt of too many packets from undesired sources. Network-layer authentication may discard such packets, though the authentication processing cost itself may be prohibitive. In multicast environments, source pruning via IGMP or multicast routing protocols may be applied.

security, rtp, multicast, realtime

security-consideration §9

Confidentiality of RTP media streams using these payload formats is achieved by encryption. Because compression is applied end-to-end, encryption may be performed after compression with no conflict between the two operations.

security, rtp, realtime

wire-format §3

12-bit nonlinear (DAT12) samples are packed contiguously into payload octets starting with the most significant bit, in two's complement notation ranging from -2048 to 2047. When the payload contains an odd number of samples, the four LSBs of the last octet are unused.

rtp, realtime

wire-format §4

20-bit and 24-bit linear audio samples are represented as signed two's complement values packed contiguously MSB-first into payload octets. For 20-bit encoding, an odd number of samples leaves the four LSBs of the last octet unused.

rtp, realtime